如何将模板作为参数传递给函数

好家伙95
    // Example program
#include <iostream>
#include <string>
#include <array>

using namespace std;

int returnSize(template z <class T, size_t>)
{
    /*if(arr.size() ==0)
    return 1;
    else
    return 2;
    */
    return 1;
}

int main()
{

  array<int,5> z;

  cout<<returnSize(z)<<endl;
}

我试图将这个数组模板 z 传递给一个函数,以便我可以计算它的大小。但是,我对如何将模板作为参数传递给函数一无所知。

雷米勒博

您不能在函数的参数中声明模板本身。模板需要在函数前面,然后可以根据需要使用函数内部的模板参数,例如:

#include <iostream>
#include <array>

template <class T, size_t N>
int returnSize(const std::array<T, N> &arr)
{
    return arr.size();
    // or: return N;
}

int main()
{
    std::array<int,5> z;
    std::cout << returnSize(z) << std::endl; // <-- calls returnSize<int,5>(z) ...
}

输出:

5

现场演示

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将类作为参数传递给PHP函数

如何将类类型作为参数传递给函数?

如何将struct作为参数传递给函数

如何将通道作为参数传递给函数?

将函数作为参数传递给模板返回值

如何将向量元素作为参数传递给可变参数模板函数?

如何将参数作为函数传递给变量?

Python:如何将列表作为参数传递给函数?

如何将对象数组作为参数传递给模板

如何将参数传递给作为关键字参数传递的函数?

将函数作为模板参数传递给成员函数

Kotlin:如何将具有可变参数的函数作为参数传递给其他函数

如果传递的函数也将函数作为参数,如何将函数作为参数传递给C中的函数?

如何将函数指针作为类模板参数传递?

如何将函数作为参数传递给transform()函数?

如何将非静态成员函数作为模板参数传递给另一个成员函数?

如何将谓词函数作为模板参数传递?

如何将模板类的名称传递给模板参数?

如何将函数作为参数传递

如何将std :: get作为参数传递给模板函数?

如何将函数作为参数传递给参数?

如何将元组作为参数传递给divmod()函数

如何将函数作为模板参数传递,其中函数返回与模板参数相同?

如何将参数传递给作为另一个函数参数的函数

将函数作为模板参数传递给类

如何将列表作为参数传递给函数

如何将函数模板作为模板参数传递?

如何将参数传递给函数?

如何将 **kwargs 作为参数传递给 fastAPI 函数