繁体   English   中英

使用多维数组c ++增强了for循环

[英]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]

要使用基于范围的循环,您应该传递一个在其中定义了beginend的容器。 尝试这个:

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM