Я создал класс со статическим членом данных. Но его выполнение не выполняется даже .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 ==========
Просто добавьте следующее в исходный файл:
int A::a;
static
переменные-члены должны быть определены где-то, вне любой функции и после объявления класса.