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"
)