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;
原因不明。上面只是简单的例子,不能重现,可能是更复杂的使用方式引起的,有空的时候再研究。