答案 0 :(得分:1)
a
必须是该类的成员变量。现在,有了它本地
答案 1 :(得分:0)
a
必须是hashtable
的数据成员才能起作用。现在,它是构造函数的局部变量,因此,当构造函数终止时,内存分配将泄漏。
但是,即使您纠正了此问题,也要当心五个规则:如果实现以下任何一项,则需要实现或删除其中的所有 :
如果不这样做,编译器将为您生成它们,并且在这种情况下,它会弄错它们。仅将指针值复制到新对象是不够的。需要进行新的分配并复制内容(移动的情况除外)。编译器生成的版本 将导致使用后释放或重复删除。
您可以使用std::vector<int>
来避免所有这些情况,而不必尝试管理自己的内存。