-1

この追加関数は、配列に追加される項目となる単一のパラメーターを取ります。forループを使用してみましたが、期待どおりに機能しませんでした。私は現在、次のようなことをしようとしています。

    bool homeworklist::add (homework h)
    {
    int i = 0;

    if(current_size < LIST_MAX){

        current_size += 1;

        list[i] = h;

        ++i;

        return true;
    }
    return false;
}

current_sizeは単なるカウンターです。listは、homeworklistクラスに属する配列であり、homeworkオブジェクトを取り込みます。この関数は、オブジェクトが正常に追加された場合はtrueを返し、正しく追加されなかった場合はfalseを返します。

4

1 に答える 1

1

変数iはローカルです。つまり、この関数を呼び出すたびに、次の行のために0に初期化されます。

int i = 0;

これは、次のステートメントで、毎回if、要素を最初の場所に割り当てることを意味します。

i宣言したのと同じように、クラスメンバーを作成できますcurrent_size。または、それ自体を利用することもできますcurrent_size

于 2012-05-12T19:28:07.457 に答える