在 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
错误是什么意思?为什么我不能内联?如第二个代码示例所示,逃避编译问题是否合法?