Нет, это не правильно.Определение должно соответствовать объявлению, и x
равно const int
, а не int
.Как переменная const
типа POD она также должна быть инициализирована.Например,
const int test::x = 0;
Как член const static
целочисленного типа, ему также разрешено указывать инициализатор в определении класса.