c ++请求'B'中的成员'A',它是非类类型'C'
Posted
技术标签:
【中文标题】c ++请求\'B\'中的成员\'A\',它是非类类型\'C\'【英文标题】:c++ request for member `A' in `B', which is of non-class type `C'c ++请求'B'中的成员'A',它是非类类型'C' 【发布时间】:2011-10-01 14:30:07 【问题描述】:我收到错误消息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;
感谢您提供的任何帮助。
【问题讨论】:
【参考方案1】:post
是一个数组,因此访问一个成员需要cin>>post[index].namn;
而不是cin>>post.namn;
您想访问数组中的单个 post
元素,以及该元素的成员。
【讨论】:
对不起,如果这是另一个愚蠢的问题,但现在 for 循环被破坏了,“cin”就像在第二次和第三次运行 for 循环时不存在等等…… cin>>post[i].nummer; --- 相同:cin>>post[i].namn;【参考方案2】:cin>>post.namn;
post
是一个数组。所以应该是这样的:
cin>>post[i].namn;
【讨论】:
【参考方案3】:您有一个telefonbok
对象数组,您需要指定要向哪个对象读取信息。
所以这些行应该是这样的:
cin >> post[i].namn; //i is an index to the array; the for loop variable.
【讨论】:
以上是关于c ++请求'B'中的成员'A',它是非类类型'C'的主要内容,如果未能解决你的问题,请参考以下文章
错误:在“ofEvents”中请求成员“更新”,它是非类类型“ofCoreEvents&()”|