错误:请求 中的成员属于非类类型
Error: Request for member ' ' in ' ' , which is of non-class type ' '
我在识别此代码的问题时遇到问题...
这是类声明:
class PersonType{
public:
PersonType();
PersonType(string n, int id, string bd);
private:
string name;
int ID;
string birthday;};
这就是问题所在:
PersonType family[20], newBaby("Anny Dube", 20180912, "2 Sept");
//family initialized here
for (int i = 0; i < 20; i++)
if (family.birthday[5] == newBaby.birthday)
cout << family.name[5] << " share a birthday with " << newBaby.name;
我在运行代码时收到他的错误:
错误:在"家庭"中请求成员"生日",该成员类型为非类类型"人类型 [20]"|
错误:请求"家庭"中的成员"姓名",该名称属于非类类型"人员类型 [20]"|
我知道姓名,ID和生日是私人的是一个问题,但我知道如何解决这个问题。即使我公开变量或使用访问器方法,我仍然留下这两个错误......
我已经阅读了与此问题相关的一大堆问题,但我能找到的所有内容都是关于指针、拼写错误的变量等。
似乎对此没有任何帮助...
请帮忙?
family.birthday[5]
应该family[5].birthday
。您正在获取family
数组的第 5 个索引 ( family[5]
(,然后访问其birthday
字段。
family.name[5]
=> family[5].name
也是如此。
但请注意,name
和 birthday
都是私有成员,因此就目前而言,此代码仍将引发错误。您需要将它们设为公共成员,或者创建访问器/突变器并改为调用它们。(谢谢@Borgleader!
相关文章:
- 获取"rw_ssid"中成员"长度"的错误请求,该成员属于非类类型"char*"
- 隐式可转换参数,但属于引用类型
- 请求 中的成员,属于非类类型
- 查找树(不属于任何特定类型的简单连接树)中两个节点之间的路径
- 错误:请求 中的成员属于非类类型
- 请求在"伺服控制器"中请求成员"附加",该成员属于非类类型"int"
- 如何在C++中的另一个模板函数中使用属于模板化类的嵌套类型?
- 检查两种类型是否属于同一模板
- 仅当数组属于特定类型时,才将模板化参数添加到数组
- 检查第 n 个可变参数模板参数是否属于特定类型
- 请求 [..] 中的成员 [..],该成员属于非类类型 [..]
- Boost检查该类型是否属于给定类型的列表
- 错误:在“连接”中请求成员“板”,该“板”属于非类类型“游戏*”
- 私有结构(在类中定义)不能用作属于同一类的函数的返回类型吗
- C++ - 映射 - 错误:请求"w"中的成员'first',该成员属于非类类型 'const int'
- 当函数属于类时,未解析的重载函数类型
- 错误:请求“y”中的成员“x”,该成员属于非类类型“class**”
- 错误:请求"cur"中的成员"成员",该成员属于非类类型节点<int>* 二叉树
- 验证基对象是否属于特定的派生类型
- 键和值属于同一类型的多重映射是否有任何意义