1
template <typename T, size_t N>
class myarray : public std::array<T, N>
{
};
int main()
{
myarray< myarray<unsigned int , 4>, 8> test2d;
// Why does using an extra pair of braces gives a compile error
for ((auto &n : test2d)) {
n.fill(0xdeadbeef); // init a 2D array
}
return 0;
}
所以,我的编辑插入了一对额外的大括号 - 我惊讶于代码没有编译。任何人都可以解释这里发生了什么。编译器错误,不允许在这里使用额外的大括号''''