我有这样的代码。运行时,它会返回错误:A::x
的未定义引用。我该如何解决这个问题?
#include <iostream>
using namespace std;
class A
{
private:
static int x;
public:
A(){
}
A(int t) {
x = t;
}
static void f() {
cout<< A::x;
}
int f2() {
return x;
}
};
int main() {
A::f();
A a;
a.f2();
}
答案 0 :(得分:0)
您需要添加
int A::x = 0; //Or any other value
在你的班级宣言之外的某个地方。
答案 1 :(得分:0)
您只声明了静态变量,未定义它。
使用以下方法在课外定义:
int A::x = 0;