我刚试过以下代码
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);
}
Run Code Online (Sandbox Code Playgroud)
我们在编译时遇到错误
test1.cpp: In function âvoid foo1(T)â:
test1.cpp:15: error: expected primary-expression before â)â token
Run Code Online (Sandbox Code Playgroud)
知道如何解决这个问题吗?
你缺少形式参数:
template<typename T>
void foo(T t) {
cout << "In foo" << endl;
}
template<typename T>
void foo1(T t) {
foo(t);
}
Run Code Online (Sandbox Code Playgroud)