具有多个变量初始化的C ++ for循环结构

时间:2012-01-09 04:21:26

标签: c++ for-loop

在第二个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 个答案:

答案 0 :(得分:15)

int之前尝试不使用col

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

答案 1 :(得分:7)

其他人已经告诉过你如何解决你注意到的问题。在另一个不同的说明中,在这:

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

几乎可以肯定,此处的最后一句话:col==0;实际上是col=0;

答案 2 :(得分:3)

这应该解决它

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

变量定义就像这样

datatype variable_name [= init_value] [,variable_name [= init_value]] *;

答案 3 :(得分:2)

逗号使用后不要声明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] << ' ';
  }
}

答案 4 :(得分:0)

这类似于使用逗号运算符在一行中的常规多变量声明/初始化。你可以这样做:

int a = 1, b = 2;

宣布2个整数。但不是这样:

int a = 1, int b = 2;   //ERROR