我正在编写一个带有内部结构(公共类)的模板类。现在我在定义内部结构的成员函数时遇到了问题。
在头文件中,
template <typename T>
class TMatrix {
...
struct Triplet {
void nop() const;
};
...
};
要定义函数nop,在我编写的另一个cpp文件中
template <typename T>
void TMatrix<T>::Triplet::nop() {...}
// or
// void typename TMatrix<T>::Triplet::nop() {...}
但这两种形式都没有编译。 g ++说
error: expected unqualified-id before ‘)’ token
如何单独正确定义此功能?
答案 0 :(得分:0)
除了必须在函数定义
中添加const之外,一切正常template <typename T>
void TMatrix<T>::Triplet::nop() const {} // <--const is added in function declaration
您可以在此处查看工作示例