gpt4 book ai didi

c++ - 带有额外大括号的编译器错误 'auto is not allowed here'

转载 作者:行者123 更新时间:2023-11-30 00:45:41 25 4
gpt4 key购买 nike

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;
}

因此,我的编辑器插入了一对额外的大括号 - 我很惊讶代码没有编译。任何人都可以解释这里发生了什么。

最佳答案

这与 auto 无关 - 这也不会编译:

int main()
{
int a[5];
for(( int n : a )) {
}
}

额外的括号试图将其中的内容转换为表达式。

关于c++ - 带有额外大括号的编译器错误 'auto is not allowed here',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42653974/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com