C++对'B'类成员`A'的请求,它是非类类型'C'
问题描述:
我收到错误消息request for member 'namn' in 'post', which is of non-class type 'telefonbok[10]'
或其类似版本。C++对'B'类成员`A'的请求,它是非类类型'C'
我认为这与下面的代码位做:
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
元素,该元素的成员。
答
您有一个telefonbok
对象的数组,您需要指定要读取哪些信息。
所以行应阅读类似:
cin >> post[i].namn; //i is an index to the array; the for loop variable.
答
cin>>post.namn;
post
是一个数组。所以这应该是这样的:
cin>>post[i].namn;
谢谢你,工作很棒! – user974524
对不起,如果这是另一个愚蠢的问题,但现在for循环被破坏,“cin”就像它不存在for循环运行时第二次和第三次,等等... – user974524
@ user974524你能显示修改后的代码吗? –