从静态函数C++中获取STATIC变量

从静态函数C++中获取STATIC变量,c++,static,C++,Static,正如我们所知,我们可以从静态方法访问静态成员变量。 但是这个代码给了我一个错误 class A { public: static int i; static int inc(); }; int A::inc() { i++; return i; } int main() { A::inc(); } 有人能告诉我我遗漏了什么吗这是一个链接器错误。您已经声明了变量,但尚未定义它,因此链接器无法找到它 添加以下内容: "A::i", referenced

正如我们所知,我们可以从静态方法访问静态成员变量。 但是这个代码给了我一个错误

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
在类之外的.cpp文件中的某个全局位置以及定义它的任何函数。如果项目中有多个.cpp文件,则定义只需位于其中一个文件中

int A::i = 0;