Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/158.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在c+;中创建字符串时出错+;_C++_String_Visual Studio 2010_Visual C++ - Fatal编程技术网

C++ 在c+;中创建字符串时出错+;

C++ 在c+;中创建字符串时出错+;,c++,string,visual-studio-2010,visual-c++,C++,String,Visual Studio 2010,Visual C++,每当我试图在头文件中创建一个字符串时,就会出现错误:“string”不是“std”的成员。我使用微软Visual C++快件2010编译器。这是我的头文件: using namespace std; class Person { private: string name; string p_number; public: Person(); Person(string, string); string get_number(); string get_name(); }; 我是

每当我试图在头文件中创建一个字符串时,就会出现错误:“string”不是“std”的成员。我使用微软Visual C++快件2010编译器。这是我的头文件:

using namespace std;

class Person
{
private:
 string name;
 string p_number;

public:
 Person();
 Person(string, string);
 string get_number();
 string get_name();
};

我是一个不错的java程序员,刚刚开始学习c++

你的标题中也有
#include
?您需要它来声明字符串类。

您需要
#include

您必须像这样包含字符串文件:

#include <string>
#包括
使用
std::string

爪哇中的导入类似于java,除了Java导入类/命名空间、C++导入库或头文件。

#include <string>
#包括
在文件的顶部

using std::string;
不会包含
字符串
头文件中不必要的声明和定义,并且只对编译器的查找有帮助,并且可以很好地编译,我通常更喜欢以下内容,而不是包含整个头文件:

using std::cout;
using std::cin;
using std::endl;

*仅供参考。

谢谢,这解决了我的问题。为什么我不需要在我的主文件中包含?在丹尼尔中,我的主要文件包括:如果主文件包含头文件,则在主文件中也有效地包含“代码> < /代码>。@丹尼尔:在C++中,允许标准头(包括但不需要)包含其他标准头。因此,如果您的主文件包含
,那么它可能也会得到
,因为您的实现碰巧在那里有依赖关系。@Daniel:根据Steve和Niall所说的,您必须记住您的程序的结构和层次结构。例如,包含在something.h和something.h中,但不包含在main.cpp中。然后,iostream有效地包含在任何包含.h的文件中(在本例中为main.cpp),而不是那些不包含.h的文件中(在本例中为something_else.cpp)。因此,如果您没有理由在something_else.cpp中包含something.h,那么如果您也需要其中的标准功能,您只需重新包含即可。祝你好运@汤姆:你应该加上这个作为回答