Freigeben über


Compilerfehler C2733

Sie können eine Funktion nicht mit der Verknüpfung "C" überladen.

Mehr als eine überladene Funktion wird mit extern "C" Verknüpfung deklariert. Bei Verwendung "C" der Verknüpfung kann nur eine Form einer angegebenen Funktion extern sein. Da überladene Funktionen den gleichen nicht wirtschaftlichen Namen haben, können sie nicht mit C-Programmen verwendet werden.

Dieser Fehler kann nach einem Upgrade aufgrund von Konformitätsänderungen in Visual Studio 2019 auftreten. Ab Visual Studio 2019, Version 16.3, wird diese Prüfung durch die /Zc:externC- Compileroption entspannt. Die Option muss nach jeder /permissive- Option in der Befehlszeile erfolgen.

Beispiel

Im folgenden Beispiel wird C2733 generiert:

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

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

Siehe auch

Compilerfehler C2116
extern (C++)
/Zc:externC (Standard-C++- extern "C" Regeln verwenden)