类模板中的静态成员是怎么回事啊
- C/C++ code
template<typename T>class Test{ static T val; //没有在类外定义,照样使用,一版的非类模板的必须在类外定义};class Test2{};int _tmain(int argc, _TCHAR* argv[]){ Test<Test2> obj; return 0;}[解决办法]
实例化后才会指定T的初始化。
代码中访问这个val就有链接问题了。
必须加上Test2 Test<Test2>::val;
[解决办法]
可以编译通过,这是因为没有使用这个static,使用了就不好使了