类在c ++中不使用静态变量

时间:2013-10-12 19:42:53

标签: c++ visual-studio-2010 visual-studio-debugging

我创建了一个带有静态数据成员的类。但是即使.exe文件没有被创建也没有被执行。我正在使用Visual C++ express 2010

这是我的代码:

#include<iostream>
using namespace std;

class A
{
public: 
static int a;
};

int main()
{ 
    A::a = 10;
    cout << A::a;

    system("pause");
    return 0;
}

编译时我遇到以下错误:
main.obj : error LNK2020: unresolved token (0A00038B) "public: static int A::a" (?a@A@@2HA)

1>main.obj : error LNK2001: unresolved external symbol "public: static int A::a" (?a@A@@2HA)

1>C:\Users\Labeeb\documents\visual studio 2010\Projects\static variables and functions\Debug\static variables and functions.exe : fatal error LNK1120: 2 unresolved externals ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

1 个答案:

答案 0 :(得分:2)

只需在源文件中添加以下内容:

int A::a;

static个成员变量需要在任何函数之外的某个地方定义,并且在声明类之后。