Dela via


Kompilatorfel C2733

du kan inte överbelasta en funktion med "C"-länkning

Anmärkningar

Mer än en överbelastad funktion deklareras med extern "C" länkning. När du använder "C" länkning kan endast en form av en angiven funktion vara extern. Eftersom överlagrade funktioner har samma odekorerade namn kan de inte användas med C-program.

Det här felet kan inträffa efter en uppgradering på grund av överensstämmelseändringar i Visual Studio 2019. Från och med Visual Studio 2019 version 16.3 kopplar kompilatoralternativet /Zc:externC- av den här kontrollen. Alternativet måste komma efter valfritt /permissive- alternativ på kommandoraden.

Exempel

I följande exempel genereras C2733:

// C2733.cpp
extern "C" {
   void F1(int);
}

extern "C" {
   void F1();   // C2733
   // try the following line instead
   // void F2();
}

Se även

Kompilatorfel C2116
extern (C++)
/Zc:externC (Använd C++ extern "C" -standardregler)