C++ #包括<;字符串>;但仍然找不到标识符

C++ #包括<;字符串>;但仍然找不到标识符,c++,string,include,C++,String,Include,我试图用一个字符串来保存一个玩家的名字。我打字的时候 #include <string> #包括 这可以正常工作,VS2010甚至可以自动填充文本。然后我尝试使用字符串,但未找到标识符: #include <string.h> class Player{ string name; int playerIndex; int position; public: Player(string name, int index, int pos);

我试图用一个字符串来保存一个玩家的名字。我打字的时候

#include <string>
#包括
这可以正常工作,VS2010甚至可以自动填充文本。然后我尝试使用字符串,但未找到标识符:

#include <string.h>

class Player{
    string name;
int playerIndex;
    int position;
public:
    Player(string name, int index, int pos);
    void move();

}; 
#包括
职业选手{
字符串名;
int playerIndex;
内部位置;
公众:
播放器(字符串名称、整数索引、整数位置);
无效移动();
}; 
另一方面,同样的事情(或者更相似的事情发生在vector上)

#包括
向量板;

错误:向量不是模板

C++库中的所有东西都在命名空间<代码> STD< /C>中,这样就不会污染全局命名空间。您需要限定名称:

std::string name;
std::vector<cell> board;
std::字符串名称;
矢量板;

您还使用了错误的标题名称;您希望
而不是

您缺少名称空间

using namespace std;
或尝试

std::string

使用
std::string
std::vector
我在发布问题之前读了那篇文章。这似乎并不适用。当我尝试使用std::string时,我得到一个错误“name following::must a class or namespace”,它不是重复的。问题是“包括”本应该是“包括”。我不知道确切的区别是什么,但它起了作用。。。没用。@Special--k:怎么没用?您是否包括了正确的标题(正如我刚才添加到答案中的那样)?更具体地说,当我键入std::string时,我得到了错误“name后跟::must is class”@Special--k:如果您修复了这两个错误,它应该会起作用,如示例所示。如果您在包含
(而不是
)时,编译器找不到
std::string
,则您的安装肯定有问题。这是标头。我不知道和之间有什么区别,但这起了作用。
std::string