私の理解では、このエラーは、同じファイルを含む複数のファイルがある場合にヘッダーガードを適切に使用していないことが原因です。私の場合、これはエラーの原因となっているインクルードツリーです。
File A includes Z, which contains the functions I need. File B includes A, and file C includes A.
'がない場合#pragma once
、プログラムは同じエラーのバリエーションを多数提供します。
blahblah.obj: error LNK2005: class some::namespace::ObjectType Object already
defined in dialogDlg.obj
私が説明したインクルードツリーを考えると、これを正しくコンパイルするための適切な方法は何ですか?
ファイルZで使用#pragma once
してみましたが、うまくいきませんでした。また、ファイルAで#pragmaを1回試しましたが、これも機能しませんでした。最後に、AとZの両方で試してみましたが、機能しませんでした。