我正在为学校做一个哈希集项目。我有一个用于链接的“LinkedList”类型的数组。我在 Mac 上编写代码并使用 clang++ 编译,一切运行正常(内存泄漏,但我会修复)。我遇到的问题是在使用 g++ 的 Ubuntu Linux 上编译时出现错误的分配错误。在 valgrind 中运行时,它表示条件跳转或移动取决于未初始化的值。并说错误来自以下部分:
LinkedList<ItemType>* table;
.
.
.
HashSet () :
size(0),
tableSize(0),
table(new LinkedList<ItemType> [size])
{}
我怀疑错误在于构建表格。如果我将大小更改为 5(或任何其他大于 0 的数字),我会得到相同的错误,换句话说,我认为构造大小为 0 的数组不是问题。有想法该怎么解决这个吗?我的 LinkedList 类中没有复制构造函数,表的初始化是调用复制构造函数还是标准默认构造函数?