2011-07-30 18 views
0

私はこの問題がboost :: shared_ptrsをキー値として使用することから生じると考えています。C++ map.clear()純粋仮想メソッドランタイムエラー

fooもbarも抽象クラスではありません。 実行時に、「純粋な仮想メソッド呼び出し」というエラーが表示され、プログラムが終了します。私はまた、マップを反復し、同じエラーを生成するmyMap.erase(イテレータ)を使用してみました。

+0

「バー」とは抽象クラスですか?あるいは 'foo'は抽象クラスですか? –

+5

'foo'と' bar'の定義と、 'foo'と' bar'のすべての基本クラスの定義を示してください。 –

+1

'foo'とは何か' bar'とは何ですか? – Nawaz

答えて

1

バーが多型である場合は、そのクラスをスライスすることができます。デストラクタが何をしているかに応じて、純粋な仮想メソッドにアクセスできます。

関連する問題