-2

関数内に文字列ベクトルを作成し、ヒープにメモリを割り当てたいと考えています。このために私は使用しています

vector<string>* residuetable = new vector<string>();

私がやろうとすると

&residuetable.push_back(modulo((exponentiate("2", exponent02)), modulus));

つまり、 push_back関数を使用して、複数の関数呼び出しからの戻り値をベクターに追加しようとすると、コンパイル時エラーが発生します。

request for member 'push_back' in 'residuetable', which is of non-class type 'std::vector<std::string, std::allocator<std::string> >*

この問題を解決し、ヒープに割り当てられたベクトルの最後に関数呼び出しの結果を追加するにはどうすればよいですか?

4

3 に答える 3

4

->ポインターを介してクラス メンバーにアクセスするために使用します。

residuetable->push_back(...);

次に、本当にいじりたいかどうかをもう一度考えてくださいnew。私はあなたがしないと確信しています。

于 2013-11-25T13:31:15.487 に答える
1

&の代わりに を使用し*、 と(*a).b同じa->bです:

residuetable->push_back("foo");

ただし、データを管理するためのより良い方法があるため、通常、コンテナーを動的に割り当てることはありません。

于 2013-11-25T13:44:47.637 に答える
1

あなたがしたい:residuetable->push_back("foo");

于 2013-11-25T13:30:14.747 に答える