最佳答案
如果我像下面这样初始化一个 std: : 数组,编译器会给我一个关于缺少大括号的警告
std::array<int, 4> a = {1, 2, 3, 4};
这就解决了问题:
std::array<int, 4> a = {{1, 2, 3, 4}};
这是警告信息:
missing braces around initializer for 'std::array<int, 4u>::value_type [4] {aka int [4]}' [-Wmissing-braces]
这只是我的 gcc 版本中的一个 bug,还是有意为之? 如果是这样,原因是什么?