|
分類:[C/C++]
2020/08/18(Tue) 08:29:39 編集(投稿者)
お世話になっております。 VisualStudio2015 c++を利用しております。
タイトルについて、以下のようにヘッダファイル(.hpp)とソースファイル(.cpp)を用意した場合、ヘッダでincludeしたものはソースでのincludeは不要だと考えていたのですが ビルド時に未定義であることのエラーが出てしまいました。
<foo.hpp> #ifndef foo #define foo
#include <string>
... //stringを引数に持つ関数定義 等
#endif </foo.hpp>
<foo.cpp> #include "foo.hpp"
std::string str; // string: stdのメンバーではありません C2039 のエラー </foo.cpp>
ヘッダとソースは同じ階層に配置しており、ヘッダがincludeされていない訳ではなさそうなのですが ヘッダでincludeしてもソースでは再度includeが必要なのでしょうか?
初歩的な質問で申し訳ございません。よろしくお願いいたします。
//追記 ビルド時の拡張子は.libです。 ソースコードを書く際にはエラーの表記は特に出ていません。
|