我有一个模板课
template <class T>
class MyTemplate
{
public:
struct node
{
int a;
};
MyClass();
~MyClass();
private:
static node* theNode;
};
template <class T>
MyClass::node* MyClass<T>::theNode = 0;
但是
theNode
的初始化失败-使用类模板需要模板参数列表
如果我将声明更改为
MyClass<T>node* MyClass<T>::theNode = 0;
我懂了
错误C2143:语法错误:缺少';'在“ *”之前
请有人告诉我正确的语法是什么?
最佳答案
只需更改您的定义:
template<class T>
typename MyClass<T>::node* MyClass<T>::theNode = 0;
关于c++ - 模板指针初始化,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41741579/