我已經懷疑關於以下的代碼:陣列初始化用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