Деструкторы по умолчанию не являются виртуальными, чтобы не повредить их, когда они не нужны, и это нормально.
Но в случае сценария с производным классом базового класса есть ли вариант использования виртуального деструктора? Если нет, то компилятор мог бы (имеет ли это смысл) жаловаться, если класс является производным от базового класса, для которого определен общедоступный невиртуальный деструктор (или нет деструктора). И не просто предупреждать об этом.
Подробнее здесь: https://stackoverflow.com/questions/308 ... base-class