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. Ex:
extern "C" {
void F1(int);
}
extern "C" {
void F1(); // C2733
}
Possible resolution:
extern "C" {
void F1(int);
}
extern "C" {
void F2();
}
This article is a derivative work based on Compiler Error C2733 which is provided by MSDN Community Content - Visual C++.