c++ - 对已定义静态私有(private)变量的 undefined reference

标签 c++ compiler-errors static-members

我在处理静态私有(private)变量时遇到了问题。这是我的代码。

类A.h:

class ClassA{
    static int a;
public:
    int getA();
};

类.cpp:
#include "ClassA.h"

int ClassA::a = 9001;

int ClassA::getA(){
    return a; //<--- Undefined reference to ClassA::a
}

如您所见,我在实现文件中定义了静态变量,正如一遍又一遍地所说,我也对其他类的其他静态成员这样做,它们工作没有任何问题,但这个没有。有没有人有任何解决方案?

最佳答案

也许 ClassA 缺少 ;在其声明的末尾?

我无法在您提供的代码中发现任何错误。也许 ClassA 是在命名空间内定义的?

关于c++ - 对已定义静态私有(private)变量的 undefined reference ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23010499/

相关文章:

C++:为什么我不能使用 Opencv 访问 Node 类?

C++ 模板 : The static member in a global object is not initialized

c++ - 如何判断是否为 PE Win32 启用了 GS 编译器

android - 如何防止 Android 设备从 Qt 应用程序进入休眠状态

c++ - 如何配置我的 CMake 文件以使用 Google Test 和 CTest?

java - 静态 block 和静态字段有什么区别?

c++ - Visual Studio 的隐式静态成员初始化失败

c++ - 在 C++ 中使用 const 的正确方法是什么?

python - 无法在 Alpine Docker容器上安装pyorc

c++ - 在 scons 中将访问说明符从私有(private)更改为公共(public)?