Массив в C ++ 11

0

Как использовать инициализацию агрегата, как следующая строка, дает мне ошибку (ожидается ;)

 std::array<int, 5> i_array1{ {3, 4, 5, 1, 2} }; 

Однако я могу скомпилировать следующую строку кода

std::array<int, 5> a2 = {3, 2, 1,10,12};

Я пытаюсь привыкнуть к новому контейнеру массива. Я использую Visual Studio 2012 Ultimate. Ищите любую помощь. С уважением

  • 1
    Первая версия в порядке. Возможно, ваш компилятор не полностью поддерживает C ++ 11.
  • 2
    IIRC, это не было полностью реализовано в VS2012. Компилируется в VS2013
Показать ещё 4 комментария
Теги:
c++11
visual-studio-2012

1 ответ

1
Лучший ответ

Согласно этой странице в MSDN, Visual Studio 2012 не поддерживает списки инициализаторов, но в 2013 году это делает.

  • 0
    спасибо, ты сэкономил мое время
  • 0
    Это не верно. std::array является агрегатом и не использует initializer_list s.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню