Sdílet prostřednictvím


Chyba kompilátoru C2733

nelze přetížit funkci s propojením "C".

Více než jedna přetížená funkce je deklarována pomocí extern "C" propojení. Při použití "C" propojení může být externí pouze jedna forma zadané funkce. Vzhledem k tomu, že přetížené funkce mají stejný nepojmenovaný název, nelze je použít s programy jazyka C.

K této chybě může dojít po upgradu kvůli změnám shody v sadě Visual Studio 2019. Počínaje sadou Visual Studio 2019 verze 16.3 uvolní možnost kompilátoru /Zc:externC- tuto kontrolu. Tato možnost musí pocházet po libovolné /permissive- možnosti na příkazovém řádku.

Příklad

Následující ukázka vygeneruje C2733:

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

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

Viz také

Chyba kompilátoru C2116
extern (C++)
/Zc:externC (Použití standardních pravidel C++ extern "C" )