Erreur du compilateur C2733

vous ne pouvez pas surcharger une fonction avec la liaison « C »

Plusieurs fonctions surchargées sont déclarées avec extern "C" liaison. Lorsque vous utilisez "C" la liaison, une seule forme d’une fonction spécifiée peut être externe. Étant donné que les fonctions surchargées ont le même nom non optimisé, elles ne peuvent pas être utilisées avec les programmes C.

Cette erreur peut se produire après une mise à niveau en raison des modifications de conformité dans Visual Studio 2019. À compter de Visual Studio 2019 version 16.3, l’option du /Zc:externC- compilateur assouplit cette case activée. L’option doit se trouver après une /permissive- option sur la ligne de commande.

Exemple

L’exemple suivant génère l’erreur C2733 :

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

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

Voir aussi

Erreur du compilateur C2116
extern (C++)
/Zc:externC (Utiliser des règles C++ extern "C" standard)