【发布时间】:2010-03-21 14:36:07
【问题描述】:
我有一个像这里这样的模板类(在标题中),它有一个内部类和一个指向内部类的类型指针的静态成员
template <class t> class outer {
class inner {
int a;
};
static inner *m;
};
template <class t> outer <t>::inner *outer <t>::m;
当我想定义该静态成员时,我在最后一行 (mingw32-g++ 3.4.5) 上说“错误:预期的构造函数、析构函数或类型转换之前的 '*' 标记”(mingw32-g++ 3.4.5)
【问题讨论】:
-
您对空格的使用使最后一行难以正确阅读。我不得不认真思考片刻才能理解它的含义。基本上,你撕开属于一起的东西(类型名、模板参数、指针限定符)并将不属于一起的东西粘合在一起(指针限定符、变量名)。
标签: class static templates pointers member