ヘッダーファイル(宣言)と.cppファイル(定義)でクラスを構築しています。「プライベート」の部分には、
string m_name
コンパイルしようとすると、コンパイラからエラーが発生します。文字列をchar*に置き換えると、正常に機能します。ただし、char*ではなく文字列が必要です。文字列ヘッダーをどこかに追加する必要がありますか?
前もって感謝します。
#include <string>
ヘッダーファイルの先頭にいることを確認し、std
名前空間内にあることを忘れないでくださいstd::string m_name;
。
私は2つの問題を疑っています。1つは「文字列ヘッダーをどこかに追加する必要がありますか?」です。- あなたがすべき
#include <string>
2つ目は、そうでない場合はusing namespace std;
、クラスの完全修飾名を使用する必要があります。これはstd::string
、だけではありませんstring
。
文字列を使用する場合は、基本的#include <string.h>
にCまたは#include <cstring>
C ++のヘッダーファイルをインクルードする必要があります。そうしないと、エラーが発生します。