Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
nie można przeciążyć funkcji z połączeniem "C"
Uwagi
Więcej niż jedna przeciążona funkcja jest zadeklarowana z połączeniem extern "C" . W przypadku używania "C" połączenia tylko jedna forma określonej funkcji może być zewnętrzna. Ponieważ przeciążone funkcje mają taką samą nieukodowaną nazwę, nie mogą być używane z programami języka C.
Ten błąd może wystąpić po uaktualnieniu z powodu zmian zgodności w programie Visual Studio 2019. Począwszy od programu Visual Studio 2019 w wersji 16.3, /Zc:externC- opcja kompilatora zrelaksuje tę kontrolę. Opcja musi pojawić się po dowolnej /permissive- opcji w wierszu polecenia.
Przykład
Poniższy przykład generuje kod C2733:
// C2733.cpp
extern "C" {
void F1(int);
}
extern "C" {
void F1(); // C2733
// try the following line instead
// void F2();
}
Zobacz też
Błąd kompilatora C2116
extern (C++)
/Zc:externC (Użyj standardowych reguł języka C++ extern "C" )