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

postcin>>post[index].namn;は配列であるため、代わりに 行う必要がある1つのメンバーにアクセスします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 に答える