C 模板成员函数中的语法错误

Syntax error in C++ template member function

本文关键字:语法 错误 函数 成员      更新时间:2023-10-16

我是C 的新手,想在修复以下模板功能代码的情况下获得一些帮助,而无需删除函数fl()

template<type T>
class Test
{
int f1(T* x);
};
template< T>
int Test::f1(T* x)
{
return 5:
};

您有许多语法错误,但我想您的主要问题是您需要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

正确的语法将为

template<typename T>
class Test
{
    int f1(T* x);
};
template<typename T>
int Test<T>::f1(T* x)
{
    return 5;
};

注意指定模板参数T的关键字是typenameclass