LINUX.ORG.RU

Не разберусь что за ошибка.

 


0

1

6,8.cpp:18:13: error: variable or field ‘chis’ declared void void schet::chis=0;

#include "iostream"
using namespace std;

class schet
{
 private:
  static unsigned long chis;
 public:
///////////////  
  schet()
   {chis++;}
/////////////////////
 void write()
  {
   cout << "Мой порядковый номер " << chis << endl;
  }
};
void schet::chis=0;
//////////////////////////
int main()
{
 schet a1,a2,a3;

 a1.write();
 a2.write();
 a3.write();
return 0;
}
    

chis объявлено как void, а надо какой-нибудь int.

Radjah ★★★★★
()
Ответ на: комментарий от rybis

И что за книга, где плохо описывается тупняк?!

anonymous
()
Ответ на: комментарий от rybis

Что там описывать-то? Ты объявил свой класс, описал его устройство. (обычно это в файле .h делается) Но технически статическая переменная - она всё равно что глобальная, она хранится не внутри класса. Поэтому надо её закрепить за каким-нибудь модулем (единицей трансляции, в данном случае main) программы.

legolegs ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.