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

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

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

我的代码(test_class.h):

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

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

最佳答案

在类外提供静态成员的定义

const int test_class::test_struct::constVar;

This对我有用。

关于c++ - 静态 const 类成员的奇怪链接器问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6138895/

相关文章:

c++ - 无法实例化类

c++ - 为什么 GCC 和 Clang 不做这种别名优化?

c++ - A* 寻路 - 巨大的开放 map 速度慢

c++ - 缩短C++中二维动态数组算法的周期

c++ - 如何使用 lambda 表达式更改代码?

.net - this == null//怎么可能?

visual-c++ - 从哪里可以获得适用于 Windows SDK 8 的单独 Visual C++ 编译器?

c++ - GCC 运行时库与 Microsoft Visual C++ 运行时可再发行组件

c - 64位机器上什么时候64位指针只使用低32位?

C++ 程序在 Linux 上正确打开文件,但在 Windows 上却不能