Неожиданная ошибка при объявлении вектора в c ++ - PullRequest
0 голосов
/ 12 октября 2019

Я получаю неожиданную ошибку при инициализации вектора в основном. Я ожидал следующий вывод:

0 1 2 

Я не понимаю, почему он не работает. Я также написал тот же код на другом компьютере, используя тот же компилятор, и он работает.

#include <iostream>
#include <vector>

using namespace std;

int main()
{
    vector<int> vett = {0,1,2};
    for (int i : vett) {
    cout << i << " ";
    }
    return 0;
}
error: could not convert '{0, 1, 2}' from '<brace-enclosed initializer list>' to 'std::vector<int>'|

Ответы [ 2 ]

2 голосов
/ 12 октября 2019

Вам нужно скомпилировать как минимум с C ++ 11. Инициализация списка поставляется с C ++ 11.

-std = c ++ 11

0 голосов
/ 12 октября 2019

Вы компилируете что-то старше C ++ 11, он не поддерживает конструктор списка инициализатора.

Если вы используете Code :: Blocks, выполните следующие действия:

Настройки ->компилятор -> флаги компилятора -> выбрать C ++ 11 или выше

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...