当前位置:  开发笔记 > 编程语言 > 正文

模板指针初始化

如何解决《模板指针初始化》经验,为你挑选了1个好方法。

我有一个模板类

template 
class MyTemplate
{
public:
    struct node
    {
        int a;
    };
    MyClass();
    ~MyClass();
private:
    static node* theNode;
};

template 
MyClass::node* MyClass::theNode = 0;

但初始化theNode失败 - 使用类模板需要模板参数列表如果我将声明更改为

MyClassnode* MyClass::theNode = 0;

我明白了

错误C2143:语法错误:缺少';' 在'*'之前

请有人能告诉我正确的语法是什么吗?



1> MRB..:

只需更改您的定义:

template
typename MyClass::node* MyClass::theNode = 0;


真是太遗憾了.贬低可怕的答案并没有错.这就是机制的用途.(我对此赞不绝口.)
推荐阅读
地之南_816
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有