我有一个模板类
templateclass MyTemplate { public: struct node { int a; }; MyClass(); ~MyClass(); private: static node* theNode; }; template MyClass::node* MyClass ::theNode = 0;
但初始化theNode
失败 - 使用类模板需要模板参数列表如果我将声明更改为
MyClassnode* MyClass ::theNode = 0;
我明白了
错误C2143:语法错误:缺少';' 在'*'之前
请有人能告诉我正确的语法是什么吗?
只需更改您的定义:
templatetypename MyClass ::node* MyClass ::theNode = 0;