-4

構造体を使用してプログラミングするのに問題があります。何度も繰り返すことができる(整数、文字)の形で入力を受け付けたい。次に、プログラムは、整数が示す場所の配列に文字を格納します。現在、問題はメッセージが未定義であり、その場所が未定義であるということです。

struct MessagePiece
{
    int location;
    char message;
};

void readMessage( istream& in, Message message[] )
{
    MessagePiece;
    message[256];
    Message message;

      while ( !in.fail() )
     {
             in >> location; //I'm not sure why this counts as undefined as it is defined in the struct

             if (location < 256, location >= 0)
                in >> message[location];
      }
return;
};
4

2 に答える 2

2

タイプのオブジェクトlocationのコンテキストにのみ存在するため、未定義ですMessagePiece

MessagePiece mp;
in >> mp.location;
于 2013-03-21T21:59:21.240 に答える
0

条件を確認するには、if ステートメントで「,」の代わりに && を使用する必要があります。また、これらの行:

MessagePiece;
message[256];
Message message;

次のように記述します。

MessagePiece messages[256]; //declaring an array of struct MessagePiece
char message; // a char for storing input read from the user. 

もう1つ、メッセージを引数として取るか、関数自体で宣言します。

C++ でのプログラミングに関する優れた本を読むことを検討してください。

于 2013-03-21T22:09:09.213 に答える