При компиляции на GCC я получаю ошибку: pure-specifier в определении функции, но не тогда, когда компилирую тот же код с помощью 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
Что означает ошибка? Почему я не могу сделать это inline? Является ли законным избегать проблемы с компиляцией, как показано во втором примере кода?