LINUX.ORG.RU

Лавры R00Tа Вам не дают покоя :))). А серьезно:

//a.h
class A {
    static int x;
  public:
    static void Set_X(int);
};

//a.cpp
#include "a.h"

int A::x; //!!!!!!!!!!!!

void A::Set_X (int n)
{
    x = n;
} 

int main(int argc, char* argv[])
{
    // ....

    return 0;
}

Компильте нездоровье!

anonymous
()

Большое спасибо. А если можно с теоретической точки зрения, зачем нужно еще раз объявлять переменную или что это вообще получается?

P.S. У меня книга страуструпа но на удивление на эту тему там кот наплакал.

tugrik ★★
() автор топика

> теоретической точки зрения

Статическая переменная класса обязана быть во внешнем определении. Так решил господин Страуструп. :-) Это господа Гослинг и Хайльсберг нам, грешным, поблажку дали.

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