对于这个赋值,我应该使用一个范围来打印ia中的元素而不使用auto关键字。基本上,该任务试图帮助我们理解多维数组。我知道代码中发生了什么,但我一直遇到一些错误。语法有问题,我无法弄明白。
int ia[3][4] = {{0,1,2,3},{4,5,6,7},{8,9,10,11}};
cout << endl;
for(int &a : ia)
for(int b : a)
cout << b << endl;
我一直收到这些错误:
.. \ src \ Sec_3_5_3.cpp:127:15:错误:无效转换为'int *'到'int'[-fpermissive] for(int&amp; a:ia)
.. \ src \ Sec_3_5_3.cpp:127:15:错误:无法将rvalue'(int)((int *)__ for_begin)'绑定到'int&amp;'
.. \ src \ Sec_3_5_3.cpp:128:15:错误:未在此范围内声明'begin'
.. \ src \ Sec_3_5_3.cpp:128:15:错误:'end'未在此范围内声明
答案 0 :(得分:2)
每个ia[i]
不是int
,而是4个int
的数组。
为了能够保持大小,你必须使用参考:
for(int (&a)[4] : ia)
for(int b : a)