我有以下錯誤我得到了錯誤C2440:
錯誤C2440:初始化:不能轉換從 '常量詮釋' 到 '廉政 [16]'
我的代碼是這樣的
static int Count[MAX_STATION_NO] = 0;
我上面的錯誤。有人能告訴我上述行中有什麼問題嗎?
我有以下錯誤我得到了錯誤C2440:
錯誤C2440:初始化:不能轉換從 '常量詮釋' 到 '廉政 [16]'
我的代碼是這樣的
static int Count[MAX_STATION_NO] = 0;
我上面的錯誤。有人能告訴我上述行中有什麼問題嗎?
您正在將數組視爲指針,這是非法的。您不能將數組分配給某個值。
也許你想這樣的:
static int Count[MAX_STATION_NO] = {0};
謝謝Luchian先生,你解決了我的問題 – Vaibhav 2012-04-02 09:15:02
要創建陣列和陣列值設置爲「0」。我想你希望做的是:
static int Count[MAX_STATION_NO] = {0}
不,他沒有將數組值設置爲0.他的代碼只是非法的。 – 2012-04-02 09:11:30
是的,我明白這一點。我的意思是,代碼暗示它將數組的值設置爲一個整數,導致數據類型不匹配,然後繼續根據我認爲他實際上希望做的事情給出解決方案。 – 2012-04-02 09:14:43
你的表述仍然錯誤和誤導。 – 2012-04-02 09:16:05
你的初始化需要在大括號:
static int Count[MAX_STATION_NO] = { 0 };
BTW:靜態數組有自己的內容初始化爲0反正所以你上面的等價於:
static int Count[MAX_STATION_NO];
該行聲明一個大小爲16的數組,然後給它指定一個數字,這在句法上是不正確的。您需要使用數組初始化:
{ 16, 2, 77, 40, 12071 ... }
大括號{}
需要初始化數組。 如:
static int Count[MAX_STATION_NO]={1,2,3};
也許這個鏈接可以幫助你:http://www.cplusplus.com/doc/tutorial/arrays/
這是C++ 11 systax。很多編譯器(在VS2010之前)在初始化列表之前需要'='。 – harper 2012-04-02 12:56:18
哦,當然我會編輯它。感謝您指出 – 2012-04-03 04:02:39
你可能想:'靜態詮釋計數[MAX_STATION_NO] = {0}'; – Mysticial 2012-04-02 09:09:56