我有一段代码可以在 C++ 中的 DevC++ 中编译,但在 VSC++ 中,它引发了 _Block_type_is_valid (phead->...) 错误,当我重试并中断时,它会xmemory
运行void deallocate(pointer _ptr, size_t type)
。我的问题是什么?以及如何解决?
编辑:
我有一个Base
类和一个从类Base1
继承的Base
类:
class Base{
public:
virtual string getString() = 0;
};
class Base1:: public Base2{
private:
char * message;
public:
Base1(string _message);
~Base1();
string getString();
};
//Base1.cpp
Base1::Base1(string _message){/*Do coppy from _message to message*/}
Base1::~Base1(){delete[] message;}
该函数getString()
将返回message
, 并在main.cpp
我调用Base *b = new Base1("something")
然后调用b->getString()
,仅此而已。但是,在编译时,我遇到了如上所述的问题。这是我想念Base
类的析构函数吗?或类似的东西?