在第二个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] << ' ';
}
}
答案 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