錯誤 可變大小的物件不能被初始化

2021-06-08 01:32:10 字數 793 閱讀 1344

c語言中定義了32個關鍵字。

#include

#include

void main()

; /* 非法:編譯階段不能用到變數 */

printf("輸出為:%c \n",a[0]);

}編譯:

qust@qust-k42jz:~/test$ gcc test_const.c -o test_const

test_const.c: 在函式『main』中:

test_const.c:7:3: 錯誤: 可變大小的物件不能被初始化

test_const.c:7:3: 警告: 陣列初始值設定項中有多餘的元素 [預設啟用]

test_const.c:7:3: 警告: (在『a』的初始化附近) [預設啟用]

test_const.c:7:3: 警告: 陣列初始值設定項中有多餘的元素 [預設啟用]

test_const.c:7:3: 警告: (在『a』的初始化附近) [預設啟用]

test_const.c:7:3: 警告: 陣列初始值設定項中有多餘的元素 [預設啟用]

test_const.c:7:3: 警告: (在『a』的初始化附近) [預設啟用]

這是因為

編譯階段不能用到變數size

並且在linux下和visual c++6.0中陣列的初始化是不一樣的

linux: int i[10]={};//全部初始化為0 而visual c++6.0 編譯不能通過

visual c++6.0:int i[10]=;//只是i[0]=1,其餘為0,而int i[10]=;//表示全為0

物件的初始化

今天除錯程式遇到的問題 public class singleton private static singleton singleton new singleton public static singleton getinstance public class a void execute 這段...

物件的初始化

分配與初始化 物件的初始化有兩種方法 一種是 類名new 第二種是 類名 alloc init 這兩種方法是等價的,不過,通常的cocoa慣例是使用alloc和init,而不使用new.一般情況下,cocoa程式設計師只是在他們不具備足夠的水平來熟練使用alloc和init方法時,才將new作為輔助...

(1)確定物件被使用前已經被初始化

在物件使用之前將它初始化,對於無任何成員的內建型別,你必須手工完成此事。例如 int x 0 const char text double d std cin d 以input stream 的方式完成初始化 內建型別以外的任何其他東西,初始化責任落在建構函式身上。確保每乙個建構函式都將物件的每乙個...