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