dev c++ 请求"B"中的成员"A",该成员类型为非类类型"C"
dev c++ request for member `A' in `B', which is of non-class type `C'
我收到错误消息request for member 'namn' in 'post', which is of non-class type 'telefonbok[10]'
或类似版本。
我认为这与以下代码有关:
struct telefonbok
{
string namn;
string nummer;
};
int main()
{
int i, ja, nej;
telefonbok post[10];
我做错了什么?错误的目标是:
cin>>post.namn;
和
cin>>post.nummer;
这是完整的代码,对不起瑞典语:
#include <cstdlib>
#include <iostream>
#include <string>
using namespace std;
struct telefonbok
{
string namn;
string nummer;
};
int main()
{
int i, ja, nej;
telefonbok post[10];
bool svar; //behövs för frågan om man vill fortsätta.
for (i=0; i<10; i++)
{
cout<<"Lagg till en post i telefonboken."<<endl;
cout<<"Ange personens namn"<<endl;
cin>>post.namn;
cout<<"Ange personens nummer :"<<endl;
cin>>post.nummer;
cout<<"Vill du mata in en post till? (ja/nej)"<<endl;
cin>>svar;
if (svar == nej) break; //stoppar slingan om man svarar nej
}
system("PAUSE");
return 0;
}
感谢您所能提供的任何帮助。
post
是一个数组,因此访问一个成员需要执行cin>>post[index].namn;
而不是cin>>post.namn;
您希望访问数组中的单个post
元素以及该元素的一个成员。
cin>>post.namn;
post
是一个数组。所以应该是这样的:
cin>>post[i].namn;
您有一个telefonbok
对象数组,您需要指定要读取信息的对象。
所以这些行应该读成这样:
cin >> post[i].namn; //i is an index to the array; the for loop variable.
相关文章:
- 访问C++中的类型成员
- 具有 STL 向量类型成员的类的复制内存
- 重载具有 2 个相同数据类型成员的构造函数
- std::void_t 和嵌套的非类型成员
- 返回对常量结构(指针类型)成员的引用:明显的左值到右值转换
- 使用各种数据类型成员创建对象的简便方法
- 将类类型成员定义为公共和私有之间有什么区别?
- 结构类型成员的默认构造函数中的默认参数
- 如何传递模板模板非类型成员函数指针
- 文本类类型成员函数约束
- 给定仅包含布尔类型成员的结构的两个对象 s1 和 s2,只要 s1 的成员为 true,请检查 s2 的每个成员是否为真
- 如何在 c++ 中使用二进制文件输入/输出读取/写入结构的字符串类型成员
- C++:将模板参数的模板类型成员加为好友的语法正确吗
- C++静态结构类型成员初始化
- C++:作为引用或指针的基类型成员变量
- 左值引用类型成员的用户定义移动构造函数
- 具有指针类型成员的类在 MSVS2012@debug 下销毁时失败.程序错误或错误源
- CRTP -- 访问不完整的类型成员
- 为什么C++默认初始化不对非类类型成员进行零初始化
- 请求非类类型成员