• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VisualStudio2008でフォルダ違いで同じソースコードファイ)

VisualStudio2008でフォルダ違いで同じソースコードファイル名

このQ&Aのポイント
  • VisualStudio2008では、フォルダ違いで同じファイル名のソースコードがある場合、認識してくれないのか?
  • フォルダ違いで同じソースコードファイル名でも、クラス名が異なる場合でも、コンパイルエラーが起きない
  • ファイル名をユニークにすることで、問題を解決できる

質問者が選んだベストアンサー

  • ベストアンサー
  • nitho_t
  • ベストアンサー率49% (44/89)
回答No.2

パスが明示できていないみたいだから、 #include ".\Test.h" でいいんじゃないかな? VSのインクルードファイルの優先順位トップがおそらくcppファイルの存在場所になっていないのだろうから。 個人的には同一プロジェクトに同名ファイルはおすすめしませんが。

TeijigoTeatime
質問者

お礼

ご返答ありがとうございます。 いろいろ試した結果仕事用のプロジェクトでは無理でした。 仕事用では別名のファイル名にしたいということを相談中です。 ありがとうございました。

その他の回答 (1)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

「後から追加」というのはどのように操作したのでしょうか? それぞれのファイルにどのように書いたのでしょうか?

TeijigoTeatime
質問者

補足

Tacosanが指摘されていましたが、情報が足りませんでした。 作成しているプロジェクトはMFCプロジェクトです。 質問した時点と名前が異なりますがご了承ください。 プロジェクトを作成したフォルダにTypeAとTypeBというフォルダを作成し、 それぞれにTest.hとTest.cppを置きました。内容は以下の通りです。 違いはNChildAとNChildBだけです。 --------------------------------------------------------------------------- // TypeA側のヘッダ(Test.h)。 namespace NGroup { namespace NChildA { class CTest { public :     CTest( void ) ;     virtual ~CTest() ; } ; } } // TypeA側の実装ファイル(Test.cpp)。 #include "stdafx.h" #include "Test.h" namespace NGroup { namespace NChildA { CTest::CTest( void ) { } --------------------------------------------------------------------------- // TypeB側のヘッダ(Test.h)。 namespace NGroup { namespace NChildB { class CTest { public :     CTest( void ) ;     virtual ~CTest() ; } ; } } // TypeB側の実装ファイル(Test.cpp)。 #include "stdafx.h" #include "Test.h" namespace NGroup { namespace NChildB { CTest::CTest( void ) { } CTest::~CTest() { } } } --------------------------------------------------------------------------- このファイルを用意し、VisualStudioから既存の項目の追加メニューから追加しました。 後から追加したNChildBのソースコードに何を描いてもコンパイルエラーを吐かない状態になってしまいます。 ソリューションエクスプローラからはNChildA、NChildBのTest.h、Test.cppのファイルは開けます。 コンパイラが識別してくれないようです。