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