class A {
public:
static int i;
static int inc();
};
int A::inc() {
i++;
return i;
}
int main() {
A::inc();
}
我们知道我们可以从静态方法访问静态成员变量。但是这段代码给我一个错误
"A::i", referenced from:
A::inc() in ccn8PKhC.o
ld: symbol(s) not found for architecture x86_64
有人可以告诉我我在想什么吗
这是一个链接器错误。您已经声明了变量,但尚未定义它,因此链接器无法找到它。
添加此:
int A::i = 0;
可以在.cpp文件中全局定义的某个位置(您的类和任何函数之外)定义它。如果项目中有多个.cpp文件,则定义只需在其中一个文件中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句