我对以下代码有疑问:
int main()
{
int array1 = {1,2,3,4,5}; //error in c++ , warning in c
int array2[] = {1,2,3,4,5};
int array3[5] = {1,2,3,4,5};
}
Run Code Online (Sandbox Code Playgroud)
这段代码在第3行给出错误c++但不在c?
我知道array1其实是一个int和array2和array3是数组,那么为什么没有一个c编译器显示一个错误,但只是一个警告:"在标量初始化多余元素"
是否使用了这样的定义,为什么它有效c?