Это часть моего кода:
class Interpreter {
public:
Interpreter() : m_id_counter(0) {}
virtual ~Interpreter() {}
protected:
int32 m_id_counter;
};
class ManCal : public Interpreter {
public:
ManCal() {}
};
и с предупреждением:
Warning: Base class 'Interpreter' has no non-destructor virtual functions
Какова причина?
В коде нет ничего плохого. Предупреждение просто информирует вас о том, что вы создали отношение наследования, которое не имеет возможности переопределить поведение базового типа. Часто это является признаком того, что наследование здесь неуместно, и другой шаблон, подобный "имеет", будет более уместным между ManCal
и Interpreter
virtual
. Почему вы сделали этоvirtual
?