C ++ Visual Studio类错误标识符字符串未定义

时间:2015-02-08 14:05:18

标签: c++

我上了课。头文件是:

   #pragma once
#include <string>
class Player
{
public:
    Player();
private:
};

并且cpp文件是:

#include "Player.h"
#include <iostream>
Player::Player()
{
}

当我在头文件中定义一个字符串并在头文件中向Player函数添加一个参数时,一切正常

#pragma once
#include <string>
class Player
{
public:
    Player(string name);
private:
    string _name;
};

但是当我在cpp文件中向Player函数添加相同的参数时

#include "Player.h"
#include <iostream>
Player::Player(string name)
{
}

我收到错误:标识符&#34;字符串&#34;未定义,我在头文件中也得到相同的错误,所以它也会影响它。我尝试在cpp文件中包含字符串以期解决问题,但它没有用。伙计们,我真的很想要一个解决方案。

1 个答案:

答案 0 :(得分:6)

所有STL类型,算法等都在std命名空间内声明。

要使代码编译,string类型还应将命名空间指定为:

Player(std::string name);  /* Most recommended */

using namespace std;
Player(string name);  /* Least recommended, as it will pollute the available symbols */

using std::string;
Player(string name);