2010-05-31 52 views
0

我在我的pro * C程序中有這些行。函數initAverage(int i)是用C語言定義的,我試圖在.pcc(Pro C++)文件中調用這個函數。在pro * C文件中調用C函數

我得到一個錯誤

Error: initAverage(int i);was declared before with a different language 

extern "C" 
{ 
int initAverage(int i); 
} 

回答

2

你可能有一個包括已經聲明瞭initAverage沒有extern "C"之前。看看initAverage的所有聲明並修復缺失的extern聲明,那麼它應該沒問題。

PS: 明確添加calling convention通常是一個好主意。我也會補充一點(雖然實際上並不是問題的一部分)

+0

請查看錯誤語句initAverage(int i);之前已用另一種語言聲明。 它說函數被聲明,但使用不同的語言 – 2010-05-31 10:13:39

+0

如果缺少'extern「C」',它就不再是C了,而是默認語言(C++/Pro C++?),所以在定義的每個地方添加'extern「C」'和聲明。 – jdehaan 2010-05-31 10:36:48