C++ 在pro*C文件中调用C函数

C++ 在pro*C文件中调用C函数,c++,extern,C++,Extern,我的pro*C程序中有这些行。函数initAverage(inti)是用C语言定义的,我试图在.pcc(Pro C++)文件中调用该函数 我犯了一个错误 Error: initAverage(int i);was declared before with a different language extern "C" { int initAverage(int i); } 您可能有一个include,它之前已经声明了initAverage而没有extern“C”。查看initAverage的

我的pro*C程序中有这些行。函数initAverage(inti)是用C语言定义的,我试图在.pcc(Pro C++)文件中调用该函数

我犯了一个错误

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

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

您可能有一个include,它之前已经声明了
initAverage
而没有
extern“C”
。查看
initAverage
的所有声明,并修复缺少的
extern
声明,然后就可以了

附言:
一般来说,添加显式是一个好主意。我还要补充一点(虽然这不是问题的一部分)

请看一下错误语句initAverage(inti);以前是用另一种语言声明的。它声明函数是在不同的语言中声明的,如果<代码>外部“C”<代码>丢失,它不再是C,而是默认语言(C++ + ProC++),所以在定义和声明中到处添加<代码>外部> C >代码>。