Я просто хотел бы знать, является ли этот следующий блок кода полноценными в C++:Действительно ли это код на C++?
class A
{
public:
virtual bool b() = 0;
};
class B
{
public:
virtual bool b() = 0;
};
class C: public A, public B
{
public:
virtual bool A::b()
{
return true;
}
virtual bool B::b()
{
return false;
}
};
Использование VS2008 это компилируется без ошибок, однако, на GCC (MinGW) 3.4.5 это дает мне ошибки, как:
cannot declare member function `A::b' within `C'
На линиях, где реализованы виртуальные методы. Мне было любопытно, если это обычно считается недействительным и запрещенным кодом стандартов C++ (а в VS оно работает благодаря некоторой нестандартизированной магии MS) или только ошибка или неподдерживаемая языковая функция в GCC.
, и кроме этого не виртуальный дтор является тикающей бомбой. но это был не вопрос. :) – wilhelmtell