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

mom*_*omo 2 c++

我上了课.头文件是:

   #pragma once
#include <string>
class Player
{
public:
    Player();
private:
};
Run Code Online (Sandbox Code Playgroud)

和cpp文件是:

#include "Player.h"
#include <iostream>
Player::Player()
{
}
Run Code Online (Sandbox Code Playgroud)

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

#pragma once
#include <string>
class Player
{
public:
    Player(string name);
private:
    string _name;
};
Run Code Online (Sandbox Code Playgroud)

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

#include "Player.h"
#include <iostream>
Player::Player(string name)
{
}
Run Code Online (Sandbox Code Playgroud)

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

Gya*_*ain 7

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

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

Player(std::string name);  /* Most recommended */
Run Code Online (Sandbox Code Playgroud)

要么

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

要么

using std::string;
Player(string name);
Run Code Online (Sandbox Code Playgroud)

  • _`using 命名空间 std;`_ 颤抖! (2认同)