在使用GCC编译时,我遇到了error: 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
这个错误是什么意思?为什么我不能内联执行?像第二个代码示例中所示,规避编译问题是否合法?