0

我收到错误消息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;
}

感谢您提供的任何帮助。

4

3 回答 3

3

post是一个数组,所以访问一个你需要做的成员cin>>post[index].namn;而不是 cin>>post.namn;

您想访问post数组中的单个元素以及该元素的成员。

于 2011-10-01T14:32:28.407 回答
0

你有一个telefonbok对象数组,你需要指定你想读取哪个对象的信息。

所以这些行应该是这样的:

cin >> post[i].namn; //i is an index to the array; the for loop variable.
于 2011-10-01T14:33:40.523 回答
0
cin>>post.namn;

post是一个数组。所以应该是这样的:

cin>>post[i].namn;
于 2011-10-01T14:33:49.710 回答