コンパイラが続ける'class A' has no member named 'foo'.
ポインタを持つ派生クラスの関数を使用しようとしています。ここに私のコードは次のとおりです。基本クラスからのポインタを持つC++アクセス派生クラス
class A{
.....
};
class B:public A{
virtual void foo() = 0;
};
class C:public B{
....
public:
void foo(){
....
}
};
私はTable
という名前A
ポインタのテーブルを持っていると
Table[j]->foo()
をしようとしたとき、私は、コンパイラのエラーを取得しています。
キャスト以外はどうすればよいですか?
がA' 'への純粋仮想関数を移動して印刷しないだろうか?これは実際に多態的に使用しようとするタイプです。 – StoryTeller
クラス 'A'は' foo() 'という名前のメンバ関数を持っていないので。 –
私はクラスBにfoo()関数を持たせたくない – Jokk