0

以下のコードでは、cm変数はスタックに割り当てられaddConstraints、メソッドのプロトタイプです。

ConstraintManager cm(5);

void addConstraints(ConstraintManager& cm);

addConstraints を呼び出すときに、関数の本体内で cm 変数を再初期化したいと考えています。それは、5 ではなく 3 を含むように再初期化されるように、コンストラクターを呼び出すcm(3)ことです。しかし、私はそれを行うことができず、私ができる唯一のことは次のとおりです。

ConstraintManager temp(3);
cm = temp;

より簡潔な方法でこれを達成する方法はありますか? ありがとう。

4

1 に答える 1

0

はい、残念ながらクラスを変更できません

クラスのパブリック インターフェイスでそのメンバーを変更する直接的な手段がない場合、それは、私の本では、それを変更することは想定されていないことを意味します。

あなたがしなければならない場合、あなたがすでに持っているのはそれを行う方法です。

cm = ConstraintManager(3);
于 2012-07-14T23:18:50.930 に答える