回答
您還沒有指定您要傳遞給函數什麼元素數組item
的。
item[]
並不意味着什麼。它沒有價值。你必須把一個數字放入括號中。該數字是數組的元素。數組中的每個元素都有自己的值。
例斷碼的地方犯同樣的錯誤是由:
#include <stdio.h>
int main(void)
{
int my_array[3] = {1, 2, 3};
my_array[] = 1; // ERROR HERE!
return 0;
}
如果您嘗試進行編譯,你會得到這樣的:
1.c: In function ‘main’:
1.c:6:11: error: expected expression before ‘]’ token
,因爲我沒有告訴my_array
哪些因素我想分配1。我想將它分配給第一個元素(my_array[0]
),第二個元素(my_array[1]
)還是第三個元素(my_array[2]
)?編譯器不知道。你必須告訴它。
如果item
如果一個標量(而不是一個數組),擺脫[],它不應該在那裏。
如果您嘗試將整個數組作爲參數傳遞,即使傳遞數組,也不要使用括號。如果你想傳遞整個數組作爲參數,請執行以下操作: if(!saveItems(item, DATAFILE, NoOfRecs))
符號'item []'在函數原型中是合法的。看起來OP很可能試圖在這裏使用一個數組作爲函數'saveItems()'的參數。在函數調用中使用'item'將一個指向'item []'的第一個元素的指針作爲參數,因爲數組標識符在大多數表達式中衰減爲指針。 –
是的。我應該提到這一點。 'item []'是正確的語法,如果你使用它作爲函數原型中的參數。但是當你調用一個函數時,'item []'是不正確的。 – user91656
謝謝; @ user91656 if(!saveItems(item,DATAFILE,NoOfRecs))is work ....我雖然有一個數組[...]我只是開始學習編程,所以..... thx for幫助;) – giga
- 1. 模板錯誤期望主表達式在'>'標記之前
- 2. 'struct'之前的期望表達式
- 3. 'char'之前的期望表達式
- 4. 「錯誤:期望'<='標記之前的主表達式」我做錯了什麼?
- 5. C++預期')'之前';'令牌預期主要表達式')'標記
- 6. 在strsafe.h中的','標記之前的預期主表達式
- 7. C中的'='標記之前的預期表達式
- 8. 預期主表達式前「*」標記
- 9. 預期主表達式前「*」標記
- 10. 在']'標記之前的預期主表達式
- 11. 錯誤:在`>`標記之前預期的主要表達式
- 12. 錯誤:在'='標記之前的預期表達式
- 13. 預期的表達式在'{'標記之前
- 14. '!='標記之前的預期表達式...我錯在哪裏?
- 15. C - 在'='標記之前的預期表達式...在線沒有'='
- 16. #define問題 - 「=」標記之前的預期表達式
- 17. 預期'*'標記之前的主表達式?
- 18. C++錯誤:錯誤:期望'||'之前的主表達式令牌
- 19. 錯誤:期望X令牌之前的主表達式
- 20. ''''令牌之前期望的主表達式
- 21. 錯誤:'DATA/*之前的期望表達式:typedef struct DATA DATA */
- 22. 函數錯誤「char之前的期望表達式」?
- 23. 錯誤:結構之前的期望表達式
- 24. 錯誤:預期表達式「%」標記之前
- 25. Excel VBA XPath表達式錯誤 - 期望的標記')'找到':'
- 26. 獲取錯誤:期望的標識符或'('在'{'標記之前
- 27. 代碼塊C++在枚舉之前期望預期的主表達式
- 28. 錯誤:期望「__attribute__」之前的主表達式;錯誤:預期';' 「__attribute__」
- 29. '。'之前的預期主要表達式
- 30. 期待'char'之前的主表達式
這裏沒有太多介紹,但是你可能想'if(!saveItems(item,DATAFILE,NoOfRecs))''。 –