假設我有兩個函數定義的文件insert.c: 1.insert_after 2.insert_before錯誤在C程序衝突的類型XX XX的和以前的隱式聲明在這裏
的這些的定義FUNC是這樣的:
insert_after(arg1)
{
if(condition 1)
{ ......... }
else
insert_before(arg1);
}
insert_before(arg)
{
if(condition 1)
{ ......... }
else
insert_after(arg);
}
現在,如果這個文件insert.c包含在main.c中和insert_after函數被調用
# include "insert.c"
int main()
{
insert_after(arg);
return 0;
}
在使用gcc編譯main.c,遇到以下錯誤:
相互矛盾的 'insert_before'
備忘類型:以前隱含的 'insert_before' 宣言在這裏
什麼在這裏是錯誤的,以及如何避免它?
請發表您的實際代碼。你有相互矛盾的聲明,這可能意味着沒有原型,不正確的原型或錯別字。不可能用「僞代碼」告知 – Mat 2012-01-15 12:35:56
那些不是函數定義。你錯過了參數類型。這是你正在編譯的* actual *代碼嗎? – 2012-01-15 12:36:32
你可以在沒有錯誤的情況下編譯'insert.c' standalone嗎? – 2012-01-15 12:36:50