【发布时间】:2016-10-28 18:32:01
【问题描述】:
比如我定义了一个多维数组
array<array<array<int, 3>, 4>, 5> a;
然后我循环播放它
for (auto& a : a)
for (auto& a : a)
for (auto& a : a)
a = 1;
语法正确吗?我在VS2015中测试过。没有编译错误。
【问题讨论】:
-
@Resurrection:它无法编译,因为
a的声明中的<和>不匹配。修复后,它应该可以编译,因为这是合法的(例如 clang 接受它)。 -
@BenVoigt 我注意到并更正了它,但它仍然无法在 VS2015 中编译并出现重新定义错误。编辑:好的,没关系,我在那里有另一个名为“a”的变量。好吧,这令人困惑!