[ Я не мог найти правильный ответ на это.Пожалуйста, укажите мне правильные ссылки, если на это уже есть ответ. ]
Я знаю, что делать что-то подобное незаконно,
class Base
{
public:
virtual void funcFoo() = 0 {} //illegal. should be defined outside the class body
virtual ~Base() {}
};
Но на VS2008 это прекрасно работает.Я хочу знать, почему это запрещено стандартом?
На андроиде я вижу, что я должен определить функцию inline следующим образом,
inline void Base::funcFoo() {}
вместо просто,
void Base::funcFoo() {}
В чем отличие неявного и явного встраивания?чем отличается компилятор?