Должны ли постоянные статические переменные-члены класса или структуры в C ++ определяться отдельно? - PullRequest
0 голосов
/ 24 августа 2011

Должны ли постоянные статические переменные-члены класса или структуры в C ++ определяться отдельно?

Это правильно?

struct test
{
    const static int x;
};

int test::x;

1 Ответ

5 голосов
/ 24 августа 2011

Нет, это не правильно.Определение должно соответствовать объявлению, и x равно const int, а не int.Как переменная const типа POD она также должна быть инициализирована.Например,

const int test::x = 0;

Как член const static целочисленного типа, ему также разрешено указывать инициализатор в определении класса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...