1. 程式人生 > 實用技巧 >解決C語言error: expected ‘;‘, ‘,‘ or ‘)‘ before ‘&‘ token

解決C語言error: expected ‘;‘, ‘,‘ or ‘)‘ before ‘&‘ token

除錯C語言程式碼的時候,遇到報錯:error: expected ‘;’, ‘,’ or ‘)’ before ‘&’ token,報錯的直接意思是在‘&’識別符號之前缺少‘;’或‘,’或‘)’,如下圖:

在這裡插入圖片描述
找到對應行程式碼,發現並不是因為缺少分號或括號什麼的導致的,而是錯誤地使用了引用傳遞,因為使用‘&’進行引用傳遞是C++中的語法習慣,事實上C語言中‘&’一般用作取地址符,不支援引用傳遞。

因此,針對該問題有兩種解決方案

方法1:如果堅持要使用C語言,可以考慮把“&”使用“*”(指標)替換,函式呼叫時,用“&”傳址。

方法2:不想修改程式碼,則可以改用C++編譯執行程式碼,注意原始碼字尾名需改為“.cpp”