在C++的2D数组中的foreach循环

Rez*_*our 3 c++ foreach multidimensional-array

我有一个3x3 2D阵列.我想要达到它的所有元素.可能吗?我这样做:

int myArray[3][3];
for(int &i: myArray){
   //MY CODE HERE.
}
Run Code Online (Sandbox Code Playgroud)

但是当我这样做时,我得到错误:

error: C2440: 'initializing' : cannot convert from 'int [3]' to 'int &'
Run Code Online (Sandbox Code Playgroud)

我也在Qt 5.0 x64上使用MSVC++ 2012编译器.如果可以这样做,那么我如何获得每个元素的索引号?

awe*_*oon 8

只需使用auto关键字

int myArray[3][3];

for(auto& rows: myArray) // Iterating over rows
{
    for(auto& elem: rows)
    {
        // do some stuff
    }
}
Run Code Online (Sandbox Code Playgroud)