質問: _getch(); return 0; } ``` ``` #ifndef source2___ #define source2___ #include void test() { std::cout << "テスト"; } #endif ```
回答: > > ソースファイルをインクルードしてみた > > > なぜ。。。 > > 1 つ以上の複数回定義されているシンボルが見つかりました > > > C/C++のincludeは自動コピペ機能です。 ですので、main関数のあるファイルとSource2.cppの**両方**にtest関数の実体があることになります。 **対策** どちらでも対処できます...が、前者を選ぶ理由は無いでしょう。 * Source2.cppをコンパイル対象から外す * **おとなしくヘッダファイルを使う**