我遇到了处理静态私有变量的问题。这是我的代码。
ClassA.h:
class ClassA{
static int a;
public:
int getA();
};
Class.cpp:
#include "ClassA.h"
int ClassA::a = 9001;
int ClassA::getA(){
return a; //<--- Undefined reference to ClassA::a
}
正如你所看到的,我在实现文件中定义了静态变量,因为它一遍又一遍地说过,我也对其他类的其他静态成员做了这个,并且它们没有任何问题,但是这个没有“T。有没有人有任何解决方案?
答案 0 :(得分:0)
也许ClassA在声明结束时缺少;
?
我无法发现您提供的代码中的任何错误。也许ClassA是在命名空间内定义的?
答案 1 :(得分:-2)
声明
int ClassA :: a;在.h本身
如下:
class ClassA{
static int a;
public:
int getA();
};
int ClassA::a = 9001;
此外,您的A类声明不以分号结尾。