C++ 如何初始化内部类类型的模板类中的静态字段
我有类似的东西C++ 如何初始化内部类类型的模板类中的静态字段,c++,templates,static-initialization,C++,Templates,Static Initialization,我有类似的东西 template <class T> class Outer { public: class Inner; static Inner* x; //... class Inner { //... }; }; // Not working template <class T> Outer<T>::Inner* Outer<T>::x = NULL; 模板 类外部{ 公众:
template <class T>
class Outer {
public: class Inner;
static Inner* x;
//...
class Inner {
//...
};
};
// Not working
template <class T>
Outer<T>::Inner* Outer<T>::x = NULL;
模板
类外部{
公众:阶级内部;
静态内*x;
//...
班级内部{
//...
};
};
//不起作用
模板
外部::内部*外部::x=NULL;
我得到的错误是::16:错误:在“*”标记之前需要构造函数、析构函数或类型转换
template<class T>
class Outer {
public:
class Inner;
static Inner* x;
//...
class Inner {
//...
};
};
template<class T>
typename Outer<T>::Inner *Outer<T>::x = NULL;
类外部{
公众:
阶级内部;
静态内*x;
//...
班级内部{
//...
};
};
模板
typename外部::内部*外部::x=NULL;
typename
和class
,请参阅可能是一个
typename
?