我不想将类的析构函数重写为虚拟的,因为它没有任何子类,也没有虚函数,也不应该具有。
我无法避免,因为内存是在模板函数内部动态分配的,该模板函数也可以将类与子类一起使用。因此,我有指向以后需要释放的类的指针。
有什么方法可以禁止显示“ -Wdelete-non-virtual-dtor”警告,并告诉编译器此处没有继承?
答案 0 :(得分:4)
将类标记为final
(从C ++ 11开始)。
那么它就不能拥有子类,因此您不必担心拥有非虚拟析构函数的含义。编译器应该意识到这一点,并禁止显示警告。