我正在为项目编写一些头文件,但是由于某种原因,我收到错误消息“ 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;
};
答案 0 :(得分:1)
布尔值实际上在bool
中键入为c++
。另外,它无法识别字符串的原因是string
是std namespace
的一部分。您要么需要添加{ {1}}包含在您的includes下,否则您需要将using namespace std;
设为string
。std::string
中的更多元素是Vector,List等。您可以查看一下here
编辑:我也注意到了您的getter / setter方法。使用了std namespace
方法,以便您可以在不公开对象属性的情况下访问对象属性,它返回该属性的类型。如果要访问描述的名称作为getter
的方法,您的方法应返回std::string
。这意味着您的2个getter应如下所示:
std::string
正如L.F.所指出的那样,使用命名空间并不是一种好习惯,因为它可能导致代码混乱甚至冲突。参考文献为this