GCC でコンパイルしているときにエラーが発生します: pure-specifier on function-definitionですが、VS2005 を使用して同じコードをコンパイルすると発生しません。
class Dummy {
//error: pure-specifier on function-definition, VS2005 compiles
virtual void Process() = 0 {};
};
ただし、この純粋仮想関数の定義がインラインでない場合は、次のように機能します。
class Dummy
{
virtual void Process() = 0;
};
void Dummy::Process()
{} //compiles on both GCC and VS2005
エラーの意味は何ですか? インラインでできないのはなぜですか?2 番目のコード サンプルに示されているように、コンパイルの問題を回避することは合法ですか?