Я недавно столкнулся с Visual C ++ 2005, не в состоянии инициализировать в константах класса, столкнулся с вездесущей ошибкой
"ошибка C2864: ...: внутри класса могут быть инициализированы только статические интегральные члены-данные const"
из кода, аналогичного
class MyClass:
{
private:
static const double myConstant = 2.9768;
}
Мне удалось выяснить, что нецелочисленные типы являются проблемой, и есть несколько способов иметь целочисленные константы, но я не нашел удовлетворительного обходного пути для определения констант, ограниченных областью действия для класса. Является ли этот тип декларации законным в последующих / других компиляторах?