2010-05-31 51 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