我正在尝试动态分配一个新对象。
int len = (nm == NULL) ? 0 : strlen(nm);
try {
name = new char[len + 1];
}
catch(std::bad_alloc) {
name = NULL;
}
if(name) {
if(nm == NULL)
strcpy(name, "");
else
{
strcpy(name, nm);
cmds=new command [num_of_cmds];
然后我的析构函数将它们通过
robot::~robot()
{
if (name) {
delete[] name;
}
delete [] cmds;
}
我不断收到分段错误,如果我编辑一些代码来初始化一个简单 int 上的值,它就会中断。我的 delete[] cmds 中断了,所以我必须将其注释掉。任何帮助将不胜感激。如果人们需要,我会澄清更多的事情。