编译器错误 C2733
无法重载具有“C”链接的函数
使用 extern "C"
链接声明了多个重载函数。 使用 "C"
链接时,只有指定函数的一种形式是外部的。 由于重载函数具有相同的未修饰名,因此不能与 C 程序一起使用。
由于 Visual Studio 2019 中的一致性更改,升级后可能会出现此错误。 从 Visual Studio 2019 版本 16.3 开始,/Zc:externC-
编译器选项会放宽此检查。 该选项必须位于命令行上的任何 /permissive-
选项之后。
示例
以下示例生成 C2733:
// C2733.cpp
extern "C" {
void F1(int);
}
extern "C" {
void F1(); // C2733
// try the following line instead
// void F2();
}
另请参阅
编译器错误 C2116
extern
(C++)
/Zc:externC
(使用标准 C++ extern "C"
规则)