ここに問題があります—私にはこのような2つのクラスがあります:
class A
{
//some fields and methods
void niceMethod();
};
class B : public A
{
void niceMethod();
};
class C : public A
{
void niceMethod();
};
と機能
void myFunc(A** arrayOfABC);
// Double *は、引数を変更しようとしていることに注意してください。
そして私はしたい:
(*arrayOfABC)[i].niceMethod();
私の関数では、BまたはCの配列を関数に渡すときにさまざまなことを実行します。
しかし、私はそれを次のように呼ぼうとします
B* bees = NULL;
myFunc(&bees);
「B**の引数タイプはA**タイプのパラメータと互換性がありません」があります。
BまたはCをAとしてf(A)のような関数に渡すことができることは知っていますが、ポインターの何が問題になっていますか?