[英]enhanced for loop with multidimensional array c++
如何使用多维数组的增强型for循环? (c ++ 11,尽管可以随意回答其他版本)
我们将从两个维度开始...
int array[10][9];
//loop through first dimension (10)
for(int i : sizeof(array)) {
//do something
}
编译器错误:基于范围的“ for”语句需要合适的“ begin”函数,但未找到任何函数
它与多维数组实际上仍然是1维有关吗? 换句话说,int array [10] [9]等同于int array [90]
要使用基于范围的循环,您应该传递一个在其中定义了begin
和end
的容器。 尝试这个:
for(auto &rows: array) // rows
{
for(auto &x: rows)
{
// ...
}
}
int array[10][9]
不等同于int array[19]
,可以将其定义为int array[10*9]
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.