Ответ 1
Попробуйте без int
до col
.
for (int i = 0, col = 0; i < values.size(); i++, col++)
На втором for-loop я получаю следующую ошибку от gcc:
error: expected unqualified-id before 'int'
Я не уверен, что мне не хватает. Я просмотрел документацию о том, как должен выглядеть цикл for, и я все еще запутался. Что здесь не так?
#include <iostream>
#include <vector>
int main() {
std::vector<int> values;
for (int i = 0; i < 20; i++) {
values.push_back(i);
}
std::cout << "Reading values from 'std::vector values'" << std::endl;
for (int i = 0, int col = 0; i < values.size(); i++, col++) {
if (col > 10) { std::cout << std::endl; col == 0; }
std::endl << values[i] << ' ';
}
}
Попробуйте без int
до col
.
for (int i = 0, col = 0; i < values.size(); i++, col++)
Другие уже рассказали вам, как устранить проблему, которую вы заметили. В другом случае, в этом:
if (col > 10) { std::cout << std::endl; col == 0; }
Кажется почти уверенным, что последнее утверждение здесь: col==0;
действительно должно быть col=0;
.
Это должно исправить его
for (int i = 0, col = 0; i < values.size(); i++, col++) {
if (col > 10) { std::cout << std::endl; col == 0; }
std::endl << values[i] << ' ';
}
}
Определение переменной выглядит следующим образом:
тип данных variable_name [= init_value] [, variable_name [= init_value]] *;
Не объявлять int после использования запятой,
for (int i = 0,col = 0; i < values.size(); i++, col++) {
if (col > 10) { std::cout << std::endl; col == 0; }
std::endl << values[i] << ' ';
}
}
Это похоже на регулярное объявление/инициализацию нескольких переменных в одной строке с использованием оператора запятой. Вы можете сделать это:
int a = 1, b = 2;
Объявление 2 ints. Но не это:
int a = 1, int b = 2; //ERROR