我已经怀疑关于以下的代码:阵列初始化用C
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};
}
这段代码在c++
但不是在c
给出在第3行一个错误?
我知道array1
实际上是一个int
和array2
和array3
是数组,那么为什么没有一个c
编译器显示一个错误,但只是一个警告:“在标量初始化多余元素”
是否有使用这样的定义,为什么它在c
有效?
你使用哪个编译器作为VS 2012将它视为错误 – 2014-10-29 10:25:44
C与C++不同。 – 2014-10-29 10:26:57
哪条线准确给出错误?第4行是'array2'的声明,但唯一有问题的行是'array1'的行。 – 2014-10-29 10:27:46