函数重名Compiler Error C2733: second C linkage of overloaded function 'function' not allowed

More than one overloaded function is declared with C linkage. When using C linkage, only one form of a specified function can be external. Since overloaded functions have the same undecorated name, they cannot be used with C programs. The following sample generates C2733:

// C2733.cpp extern "C" { void F1(int); } extern "C" { void F1(void); } // C2733, delete one of the external linkages to resolve int main() { }

我现在使用MFC框架搭建了一个界面,然后在该工程里做了一些额工作。现在工作中的某个函数与MFC中内置的函数重名了。原先我的函数所在文件名后缀为CPP,编译器编译的时候可以使用函数重载来区分该函数与MFC内置函数。现在我的函数所在文件后缀修改为C后,编译器无法依靠函数重载来区分这两个函数。有什么办法可以屏蔽MFC的内置函数呢?

你可能感兴趣的:(c,function,delete,mfc,compiler,编译器)