Compiler Error C2733


The new home for Visual Studio documentation is Visual Studio 2017 Documentation on

The latest version of this topic can be found at 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();   // C2733  
   // try the following line instead  
   // void F2();