C++-Error:invalid new-expression of abstract class type
C++工程,使用new操作符,new一个抽象类对象时编译报错如下:
Error:invalid new-expression of abstract class type XXX
原因
派生的子类没有完全实现基类父类(接口)中的纯虚函数。
即父类中有函数未在子类中实现,纯虚函数全部需要实现,才能new子类。
实际情况
- 在子类中实现未实现的传虚函数。可以考虑用空函数体
{}
。 - 在实现纯虚函数时,漏掉了override。
- 函数写的太乱,纯虚函数夹在其他函数之间,漏掉了。
- new-expression expression abstract invalid Errornew-expression expression abstract invalid new-expression git-error invalid error path sign_date invalid default error nginx invalid number error evaluating expression mybatis error git invalid项目error error dereference address invalid type typescript expression error invalid esbuild config error