У меня возникли проблемы с итерацией по vector<vector<?> >
с помощью функции for_each. Всякий раз, когда я делаю что-то вроде этого (где matrix
это мой вложенную вектор):Итератеть над вектором <vector<?>> with for_each
int size = 0;
for_each(matrix.begin(), matrix.end(), [](vector<int> &vec) {
size += vec.size();
});
Тогда компилятор жалуется на меня с ошибкой expected primary-expression before '[' token
(есть более, что одни и те же ошибки, но с ]
и &
символов) , Что я делаю не так? Пример в cppreference над here имеет схожий синтаксис с int
, так что же это отличает?
Что такое '' 'size'''? И как вы переходите к этой лямбда-функции? – mnciitbhu
Какой компилятор и какие флаги? Вероятно, у вас нет C++ 11. Во-вторых, для '' '' '' '' '' '' '' '' '' '' ''. – Yakk
'size' инициализируется только 0 за пределами цикла. Извини за это; подумал, что это будет подразумеваться. Я на самом деле не знаю, какой компилятор он есть, но я просто выполняю стандартную команду 'g ++'. – T145