Erro do compilador C2733
não é possível sobrecarregar uma função com vínculo 'C'
Mais de uma função sobrecarregada é declarada com a vinculação extern "C"
. Ao usar a vinculação "C"
, 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 C.
Esse 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 /Zc:externC-
relaxa essa verificação. A opção deve vir após uma opção /permissive-
na linha de comando.
Exemplo
O seguinte exemplo gera o erro C2733:
// C2733.cpp
extern "C" {
void F1(int);
}
extern "C" {
void F1(); // C2733
// try the following line instead
// void F2();
}
Confira também
Erro do compilador C2116
extern
(C++)
/Zc:externC
(Usar regras padrão extern "C"
do C++)