E2337 オーバーロード関数群の中の 1 つだけしか "C" にできない (C++)
C++ 関数はデフォルトでオーバーロードが可能で,コンパイラが各関数に新しい名前を割り当てます。
関数 extern "C" を宣言して,コンパイラが割り当てた新しい名前オーバーライドする場合は,同じ名前を持つ関数の 1 つだけに行うことができます。
そうしないと,リンカが同じ名前のグローバル関数を複数検出することになります。
C++ 関数はデフォルトでオーバーロードが可能で,コンパイラが各関数に新しい名前を割り当てます。
関数 extern "C" を宣言して,コンパイラが割り当てた新しい名前オーバーライドする場合は,同じ名前を持つ関数の 1 つだけに行うことができます。
そうしないと,リンカが同じ名前のグローバル関数を複数検出することになります。