【发布时间】:2011-05-16 09:00:37
【问题描述】:
如果我以以下方式遍历二维数组的元素,是否会出现未定义的行为?
int v[5][5], i;
for (i = 0; i < 5*5; ++i) {
v[i] = i;
}
然后,它甚至可以编译吗? (我现在不能尝试,我不在家。)如果没有,那么想象我以某种方式获得了指向第一个元素的指针并使用 taht 而不是v[i]。
【问题讨论】:
-
v[i] = i甚至不应该编译,IMO。也许你的意思是v[0][i] = i? -
您的代码应显示此错误“错误 C2440: '=' : cannot convert from 'int' to 'int [5]'”
-
使用
www.ideone.com,自己编译看看! -
(I can't try it right now, I'm not at home.)- 也许你回家后应该试试这个!我们应该为你编译代码? -
@Nawaz:“编译并查看”绝不是对有关 UB 的问题的有效答案。
标签: c++ c arrays undefined-behavior