C++コードでこのような奇妙なエラーが発生しました。クラス外の関数定義でC++リンカエラーが発生しました
いくつかの方法でヘッダファイルを管理したいと考えています。それをUtil.hpp
と呼ぶことができます。私はそれに以下の簡単な方法を持っています。
bool CheckVal(int value) {
if (value == 1)
return true;
else
return false;
}
私は別のクラスのCPPにUtil.hpp
が含ま&メソッドを呼び出します。私はリンカエラーと言って終わる
:-1: error: 3 duplicate symbols for architecture x86_64
私はosxのclangでこれを構築しています。
どうすればこのエラーを取り除くことができますか?私は何をしているのですか?
機能をインライン化するにもかかわらず、エラーが発生します。本当に奇妙です!
「インライン」にしてください。 –
静的にします。これはCでも同様です。 –
この単純な方法は、可能な限り単純ではありません。 –