编译器告诉我断言失败,即使我在链接节点数组中至少有2个项目。如何修复此bool包含的功能?是的,我尝试了多种方法,但我仍然遇到同样的错误。
请记住,数组的不同索引中有2个项目。但它未在下面显示。
这是contain
函数:
bool Map::contains(string key){
bool idk = false;
if(elementsStoredCount != 0){
int idk = hashFunc(key); //the hashFunc computes using modulo
if(array[found] != nullptr){
idk = false;
}
else{
found = true;
}
}
return found;
}
当我在main.cpp中测试时,第二行由于某种原因失败了。
assert(as.contains("1")==true);
答案 0 :(得分:1)
基于其他一些注释并阅读代码,我认为您的问题是您的int hashFunc(string key)
函数返回的值不在array[]
范围之内。
您是否对hashFunc()
函数进行了调试/测试,以确保数据正确?如果正确实现并且您仍然面临一个错误,那么我接下来会查看您的表数据/插入函数。