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

时间:2019-04-30 03:09:18

标签: c++

我正在为项目编写一些头文件,但是由于某种原因,我收到错误消息“ Identifier''undefined。我在做什么错?(它不能将字符串或布尔值识别为正确的)

#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;
};

1 个答案:

答案 0 :(得分:1)

布尔值实际上在bool中键入为c++。另外,它无法识别字符串的原因是stringstd namespace的一部分。您要么需要添加{ {1}}包含在您的includes下,否则您需要将using namespace std;设为stringstd::string中的更多元素是Vector,List等。您可以查看一下here

编辑:我也注意到了您的getter / setter方法。使用了std namespace方法,以便您可以在不公开对象属性的情况下访问对象属性,它返回该属性的类型。如果要访问描述的名称作为getter的方法,您的方法应返回std::string。这意味着您的2个getter应如下所示:

std::string

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