に名前を付けていない私は、この2分離クラスを持っていると私は、このコンパイラの問題を解決するカント:エラー:名前空間の「文字列」「STD」のタイプ
In file included from classA.cpp:2:0: classB.h:6:10: error: 'string' in namespace 'std' does not name a type std::string str; ^
In file included from classA.cpp:3:0: classA.h:6:25: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 classB *ptr_b = new classB;
classA.hがあります:
classA.cpp:
#include "classB.h"
#include "classA.h"
classA::classA() {
}
classB.h:
#ifndef CLASSB_H
#define CLASSB_H
class classB {
private:
std::string str;
public:
classB();
};
#endif /* CLASSB_H */
classB.cpp:私はあなたが与えることができるすべての助けをapreciate
#include <string>
#include "classB.h"
classB::classB() {
}
。私はこれを修正する方法を知らないし、私は夢中になる。
読んでいただきありがとうございます。
classB.hから '#include 'する必要があります。現状では、はclassB.cppに含まれていますが、classA.cppには含まれていません(classB.hも含まれています)。 –
zneak
もし私がclassB.cにを含めると、私はclassB.cppで削除できますか? –
BlackB0ltz
はい、classB.cppから削除できます(classB.hにある場合)。 – zneak