で始まるヘッダーファイルがあります
#if !defined(__GLOBAL_H)
#define __GLOBAL_H
次に、いくつかのコードに続いて
#endif
コードには関数宣言のみが含まれており、一部には他のヘッダー ファイルといくつかのテンプレート関数が含まれています。ただし、コードを 1 行追加すると問題が発生します。追加した関数が既にオブジェクト ファイルで定義されているというリンカ エラーが発生します。コンパイラとして Visual Studio 2012 Premium を使用しています。ヘッダー ファイルから既存の関数を削除しようとしましたが、これもコンパイラを通過します。一方、コンパイラに新しい可能性のある新しい行を追加すると、既に定義されていると言ってコンパイルを拒否します。何が間違っているのか、またはコンパイラ自体の内部でエラーに遭遇した可能性がありますか? (私は非常に疑問です)編集:解決策は、関数をヘッダーファイルで宣言することでしたが、CPPファイルで定義しました。しかし、実際の問題は、ヘッダー ファイルで宣言された型のオブジェクトを返すためにヘッダー ファイルをインクルードすると、コンパイルされないことでした。他のヘッダー ファイルで宣言された型である "Missing ; in front of *" というエラーの多く。