#include <iostream>
using namespace std;
class A{
...
static int ii;
...
};
...
A::ii = 0;
статическая переменная в классе. Ошибка при линковке.
#include <iostream>
using namespace std;
class A{
int a;
public:
A() {
A::ii=0;
}
static int ii;
int GetII() {
ii++;
return A::ii;
}
};
int main() {
A a;
cout<<a.GetII();
return 0;
}
Ошибка след. содержания:
Error 1 error LNK2001: unresolved external symbol "public: static int A::ii" (?ii@A@@2HA) test.obj
Error 2 fatal error LNK1120: 1 unresolved externals ...path...\tst\Debug\tst.exe
Код:
using namespace std;
class A{
int a;
public:
A() {
A::ii=0;
}
static int ii;
int GetII() {
ii++;
return A::ii;
}
};
//A::ii=0;
A::ii = 0;
int main() {
A a;
cout<<a.GetII();
return 0;
}
ошибка:
test.cpp(18) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
Код:
class A{
...
static int ii;
...
};
...
int A::ii = 0;
...
static int ii;
...
};
...
int A::ii = 0;