Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

статическая переменная в классе. Ошибка при линковке.

2.5K
06 ноября 2008 года
Akula
38 / / 17.01.2005
Код довольно-таки примитивный. Компилятор Visual C++ 2005

#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
240
06 ноября 2008 года
aks
2.5K / / 14.07.2006
 
Код:
#include <iostream>
using namespace std;
class A{
...
  static int ii;
...
};
...
A::ii = 0;
2.5K
06 ноября 2008 года
Akula
38 / / 17.01.2005
#include <iostream>
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
240
07 ноября 2008 года
aks
2.5K / / 14.07.2006
А да, пропустил тип, но можнож было догадаться.
 
Код:
class A{
...
  static int ii;
...
};
...
int A::ii = 0;
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог