Partilhar via


Erro do compilador C2733

não pode sobrecarregar uma função com ligação 'C'

Observações

Mais de uma função sobrecarregada é declarada com extern "C" ligação. Ao usar "C" a ligação, apenas uma forma de uma função especificada pode ser externa. Como as funções sobrecarregadas têm o mesmo nome não decorado, elas não podem ser usadas com programas em C.

Este erro pode ocorrer após uma atualização devido a alterações de conformidade no Visual Studio 2019. A partir do Visual Studio 2019 versão 16.3, a opção do compilador relaxa /Zc:externC- essa verificação. A opção deve vir depois de qualquer /permissive- opção na linha de comando.

Exemplo

O exemplo a seguir gera C2733:

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

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

Ver também

Erro do compilador C2116
extern (C++)
/Zc:externC (Use regras C++ extern "C" padrão)