0

エラーが発生しましたが、動作を理解していません:

class A {
    virtual void foo() = 0;
    virtual int bar();
}

ここで、「非静的メンバー関数のみが仮想である可能性があります」というエラーが表示されbar();ます。

4

2 に答える 2

3

エラーメッセージは誤解を招きます。問題は、bar戻り値の型がないことです。これは違法です。

于 2012-11-01T14:54:45.003 に答える
0

動的な動作を公開し、オブジェクトの種類に応じて異なる実行を許可する仮想関数とは対照的に、静的メンバーはクラスのすべてのインスタンス間で (静的に) 共有されます。したがって、静的仮想関数を使用しても意味がありません。

あなたが提示したコードには静的関数がないことに加えて、ここに完全なバージョンを投稿してください。

于 2012-11-01T15:04:07.430 に答える