2

これが私の質問です:

次のように、動的に割り当てられた配列を作成するコードがプログラムに含まれているとします。

int * entry;
entry = new int [10];

ポインタ変数エントリがこの動的に割り当てられた配列を指しているようにします。キーボードで入力した10個の数字でこの配列を埋めるコードを記述します。

私はこの本を2日間読んだのですが、それでもこれを理解することはできません。

これが私が試していたコードですが、17行目に次のようなエラーが表示されます。これらのオペランド「<<」に一致する演算子はありません。私はmsdnと他のいくつかのウェブサイトをチェックしましたが、これを理解することはできません。どんな助けでもいただければ幸いです。

#include <iostream>

using namespace std;

int main()
{
int * entry;
entry = new int [10];
int array_size = 10;
int num;
for(int i = 0; i< array_size; i++)
    entry[i] = i;

for(int i = 0; i < array_size; i++)
{
    cout << "Enter an int into the array: " << endl;
    cin << entry[i] << endl;
}


return 0;
}
4

1 に答える 1

6

ストリーム演算子の方向が間違っています:を使用してくださいcin >> entry[i];。これを覚えておくのに良い方法は、演算子を矢印として考えることです。出力の場合は、出力するものをに向け、入力の場合は、入力を格納する変数に向けてcout値を指します。cin

デフォルトでcin >> ...は、空白(スペース、タブ、改行)を自動的に処理するため、>> endlどちらも必要ありません。

最後に、ユーザーが値を入力するとすべてのエントリが上書きされるため、前のループ設定entry[i] = i;は現在のプログラムでは何の役にも立ちません。

于 2013-02-09T01:38:50.047 に答える