Структура цикла C ++ с инициализацией нескольких переменных - PullRequest
12 голосов
/ 09 января 2012

Во втором цикле for я получаю следующую ошибку от 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] << ' ';
  }
}

Ответы [ 5 ]

15 голосов
/ 09 января 2012

Попробуйте без int до col.

for (int i = 0, col = 0; i < values.size(); i++, col++)

7 голосов
/ 09 января 2012

Другие уже говорили вам, как исправить проблему, которую вы заметили. На довольно другой ноте, в этом:

if (col > 10) { std::cout << std::endl; col == 0; }

Кажется почти уверенным, что последнее утверждение здесь: col==0; действительно предназначено для col=0;.

3 голосов
/ 09 января 2012

Это должно исправить

for (int i = 0, col = 0; i < values.size(); i++, col++) {
  if (col > 10) { std::cout << std::endl; col == 0; }
  std::endl << values[i] << ' ';
  }
}

Определение переменной выглядит следующим образом

имя типа переменной имя [= init_value] [, имя переменной [= init_value]] *;

2 голосов
/ 09 января 2012

Не объявляйте 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] << ' ';
  }
}
0 голосов
/ 10 февраля 2017

Это похоже на обычное объявление / инициализацию нескольких переменных в одной строке с использованием оператора запятой.Вы можете сделать это:

int a = 1, b = 2;

с объявлением 2-х дюймов.Но не это:

int a = 1, int b = 2;   //ERROR
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...