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