静态const类成员的奇怪链接器问题

时间:2011-05-26 13:01:30

标签: c++ visual-c++ gcc linker static-members

请告诉我,为什么 gcc 链接器会给我以下错误:“test_class :: test_struct :: constVar”,引用自:test_class.o中的__ZN12lu_test_class27test_struct6constVar $ non_lazy_ptr

我的代码( test_class.h ):

class test_class
{
    struct test_struct
    {
         static const int constVar = 0;
    };
};

constVar 的所有引用都在 test_class 范围内,采用通常的静态成员访问形式: test_struct :: constVar

1 个答案:

答案 0 :(得分:3)

提供类

之外的静态成员的定义
const int test_class::test_struct::constVar;

This适合我。