我正在头文件(声明)和 .cpp 文件(定义)中构建一个类。在“私人”部分,我有一个
string m_name
当我尝试编译它时,编译器给了我一个错误。如果我用 char* 替换字符串,它可以正常工作。但是,我确实需要一个字符串,而不是 char*。我应该在某处或某处添加字符串标题吗?
提前致谢。
确保您#include <string>
位于头文件的顶部,并记住它位于std
命名空间:std::string m_name;
.
如果你想使用字符串,你基本上需要包含它#include <string.h>
的 C 或#include <cstring>
C++ 的头文件,否则你会得到错误。
我怀疑有两个问题:一个,“我应该在某处添加字符串标题吗?” - 你应该
#include <string>
二,如果你不是using namespace std;
,那么你必须使用类的完全限定名,即 isstd::string
而不仅仅是string
.