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;
}
所以,我的編輯插入了一對額外的大括號 - 我驚訝於代碼沒有編譯。任何人都可以解釋這裏發生了什麼。編譯器錯誤,不允許在這裏使用額外的大括號''''