if(aptr[i] < bptr[i])
a->used = BI_LESS_THAN;
else
return BI_GREATER_THAN;
我找不出爲什麼這段代碼不會編譯。它表示它在else的開始之前期待一個'}'。這在C中無效嗎?我正在使用GCC編譯Netbeans。if else else語法錯誤C
if(aptr[i] < bptr[i])
a->used = BI_LESS_THAN;
else
return BI_GREATER_THAN;
我找不出爲什麼這段代碼不會編譯。它表示它在else的開始之前期待一個'}'。這在C中無效嗎?我正在使用GCC編譯Netbeans。if else else語法錯誤C
該錯誤與您的BI_LESS_THAN
宏格式不正確一致。在文件實際編譯之前,C預處理器將用您定義的任何內容替代BI_LESS_THAN
,完全按照它的寫法。這就是爲什麼編譯器錯誤似乎有點神祕。
我不小心在宏中包含了一個分號。 – chasep255
是的,第二個分號產生一個空語句,所以在'if'和'else'之間有兩個語句。 –
錯誤不在代碼片段中 –
它可能在周圍的代碼中。那部分很好。編譯器有時會給你的行號不是_really_錯誤所在。就在它發現第一個不一致時,可以這麼說。 – Guido
什麼是您的BI_LESS_THAN定義? – buc