Сделана ли функция "In инициализация члена класса" в C++11?
В функции инициализации класса, которая позволяет инициализировать нормальные члены внутри самого класса,
struct A {
int a = 0; // error: ISO C++ forbids in-class initialization of non-const static member ‘a’
};
Это дает ошибку в последнем компиляторе gcc-4.6 (с -std=c++0x
). Эта функция включена в стандарт C++11 или gcc все еще не поддерживает ее?
1 ответ
Решение
Да, это допустимо в C++0x. Есть пример этого в N3290 §12.6.2/8:
struct C {
/* ... */
int j = 5; // OK: j has the value 5
};