知道这是有效的c ++ 11
int i {1};
这个有效吗?
int j[] {{1}};
GCC发出错误,发出警告。
答案 0 :(得分:2)
这是无效的,因为j
是int
(标量)的数组。您可以
仅对聚合本身的成员使用嵌入式大括号。
#include <initializer_list>
struct T
{
int x, y;
};
int main()
{
int j[] {{1}}; // error, int is scalar
T t[] {{1,2}}; // OK, T is aggregate
}