代码无法识别“#include”语句

问题描述 投票:0回答:1

我正在为一个项目编写一些头文件,但无论出于何种原因,我收到错误“标识符”未定义。我做错了什么?(它不会识别字符串或布尔值为正确)

#include <iomanip>
#include <iostream>
#include <string>

class Camper {
private:
    string name;
    boolean paid;
public:
    void setName(string);
    void getName() const;

    void setPaid(boolean);
    void getPaid() const;

    void display() const;
};
c++
1个回答
1
投票

bool中,布尔人实际上被称为c++。而且它不会识别字符串的原因是stringstd namespace的一部分。你要么需要在你的包含下添加using namespace std;,要么你需要将string作为std::string。来自的更多元素std namespace是矢量,列表等。你可以看看那些here

编辑:我只是注意到你的getter / setter方法。使用了getter方法,因此你可以访问Object属性而不公开它,它返回一个属性的类型。如果你想访问描述为std::string的名称,你的方法应该返回std::string。意味着你的2个吸气剂应该是这样的:

bool getPaid() const;
std::string getName() const;

正如L.F.所指出的那样,使用命名空间并不是一个好习惯,因为它可能导致令人困惑甚至冲突的代码。参考文献是this

© www.soinside.com 2019 - 2024. All rights reserved.