- AとBの2つのクラスがあります
- クラスBには、オブジェクトAの一定の動的サイズの配列であるプライベートメンバー変数があります。
- クラスBのコンストラクターの1つは、クラスBの配列を設定するために使用されるクラスAオブジェクトへの定数参照を取ります。
クラスB:
class B
{
private:
const A** theArray;
public:
B(const A&);
};
B::B(const A& newA)
: theArray(newA) //<-- ??
{
}
プログラムをコンパイルしようとすると、「'constA'から'constA**'に変換できません」というエラーが表示されます。
オブジェクトをメンバー初期化リストに渡して、それらから配列を作成するにはどうすればよいですか?
編集1:これはcomsciクラスの割り当て用です。現在クラスについて学習しており、この割り当てでは、この特定のクラスに対して3つの別個のコンストラクター(コピーコンストラクター、クラスBの「theArray」に新しいAオブジェクトを追加するコンストラクター、および最初のAオブジェクトを追加するコンストラクター)を作成します。 'theArray'に(これは問題のコンストラクターです)。
リストの3番目のコンストラクターを呼び出して、オブジェクトを作成するという考え方です。次に、別のAオブジェクトを配列に追加する場合は、2番目のコンストラクターを呼び出します。次に、オブジェクトのコピーが必要な場合は、コピーコンストラクターを使用します。