我是C ++的新手,希望在不删除函数fl()的情况下修复以下模板函数代码获得一些帮助
template<type T>
class Test
{
int f1(T* x);
};
template< T>
int Test::f1(T* x)
{
return 5:
};
答案 0 :(得分:3)
您有很多语法错误,但我想您的主要问题是您需要Test<T>::f1
而不是Test::f1
:
//typename, not type
template<typename T>
class Test
{
int f1(T* x);
};
// forgot typename
template<typename T>
int Test<T>::f1(T* x)
//need ^^^
{
return 5;
}
//^ no semicolon
答案 1 :(得分:2)
正确的语法是
template<typename T>
class Test
{
int f1(T* x);
};
template<typename T>
int Test<T>::f1(T* x)
{
return 5;
};
请注意,指定模板参数T
的关键字为typename
或class