В соответствии с Особенности C ++ 11 (современный C ++), VC ++ 2013 теперь поддерживает нестатические инициализаторы элементов данных.
Однако следующий код отклонен VC ++ 2013:
struct A
{
const int n = 0; // error C2864
};
ошибка C2864: ‘A :: n’: только статические члены-интегралы const могут быть инициализированы в классе
В чем причина? Это ошибка компилятора?
В чем причина? Это ошибка компилятора?
Это ошибка документации, оба Вот и ссылка Криса в комментарии говорит, что в RTM VS2013 будут реализованы инициализаторы нестатических элементов данных.
Не удивляйтесь, когда вы найдете ложную информацию в MSDN, там много старого материала и т. Д., Который никто не обновил, или кто-то ошибся при его вводе.
Других решений пока нет …