Инициализация массива в 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};
}
Этот фрагмент кода выдает ошибку в строке 3 вc++
но не вc
?
я знаюarray1
на самом делеint
а такжеarray2
а такжеarray3
массивы, так почему бы неc
компилятор показывает ошибку, но только предупреждение: «лишние элементы при скалярной инициализации»
Используется ли такое определение и почему оно действительно вc
?