我一直在尝试在 C++ 中创建一个垃圾收集器,我将它设计为我所有人的基类,称为garbageCandidate,它包含一个静态向量,其中包含指向garbageCandidate 的指针,每个garbageCollector 实例都将“this”推到向量上.
然后一个静态函数来删除静态向量中的所有指针。
在删除函数的一开始(在第一个指针上删除)我得到一个错误,指出删除被用于无效指针......
这与静态/动态绑定有关吗?我的意思是:删除操作符是否无法按预期运行,因为我在“父亲”类上调用 delete 并且它实际上是一个孩子?
避免这种情况的方法是创建虚拟析构函数吗?(或虚拟删除功能)?
还是我完全错过了什么?
ps:用于测试的所有对象都是动态创建的。