template <typename T>
class A
{
public:
static int const i = 0;
};
这样写,运行时会找不到 i 对应的符号,需要改成下面的写法
template <typename T>
class A
{
public:
static int const i;
};
template <typename T>
int A::i = 0;
原因不明。上面只是简单的例子,不能重现,可能是更复杂的使用方式引起的,有空的时候再研究。
本文探讨了C++中模板类静态成员变量的正确初始化方法,并对比了两种不同的实现方式,解释了一种常见错误的原因。

1万+

被折叠的 条评论
为什么被折叠?



