c++从另一个模板函数调用模板函数
C++ calling a template function from another template function
我刚刚尝试了以下代码
class MailBox{
};
template<typename T>
void foo(T){
cout << "In foo" << endl;
}
template<typename T>
void foo1(T){
foo(T);
}
main()
{
MailBox m;
std::vector<MailBox> m1;
foo1(m1);
}
我们在编译时得到以下错误
test1.cpp: In function âvoid foo1(T)â:
test1.cpp:15: error: expected primary-expression before â)â token
如何解决这个问题?
您缺少形式参数:
template<typename T>
void foo(T t) {
cout << "In foo" << endl;
}
template<typename T>
void foo1(T t) {
foo(t);
}
您忘记了参数的名称!
例如,foo1()
应该是这样的:
template <typename T>
foo1 (T myT) {
foo(myT);
}
请记住,模板类型仍然是类型,您需要使用它们来声明这些类型的东西(如变量)。
相关文章:
- 构造函数正在调用一个使用当前类类型的函数
- 如何在主函数中调用模板类
- 向量推回调用析构函数时调用析构函数
- 是否可以使用函数指针调用虚拟析构函数?
- 将成员函数作为构造函数参数调用时出错 "Variable is not a type name"
- 没有匹配的成员函数来调用'push_back'错误
- 在模板化类的构造函数中调用构造函数
- 为什么从另一个构造函数内部调用C++构造函数不修改类变量?
- 如何通过python方法和kwargs来提升python的c++函数和调用
- 推迟析构函数的调用
- Tbb 库:错误:编写自定义类函数而不是 lambda 表达式时,对函数的调用不匹配
- 在模板化的 Rcpp 函数中调用另一个 cpp 函数
- 如何使派生类函数在调用时始终调用相同的基类函数?
- 在成员构造函数之后调用基类构造函数
- 为什么在传递给函数而不是构造函数时调用析构函数?
- 如何从不同的类中获取函数来调用在 Main 中声明的对象?
- 为什么我不能像这样在静态成员函数中调用静态成员变量?
- 从带有参数的基函数指针调用基方法
- localtime() 函数正在调用 ___lll_lock_wait_private(),这会使线程陷入死锁
- 我不知道为什么复制构造函数的调用在 c++ 中不稳定