我上了课.头文件是:
#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文件中包含字符串以期解决问题,但它没有用.伙计们,我真的很想要一个解决方案.
所有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)
| 归档时间: |
|
| 查看次数: |
16129 次 |
| 最近记录: |