“好的,我正在尝试创建一个快速的小类,作为一种哈希表。如果我能让它工作,那么我应该能够做到这一点:”
这段话的意思是:“它应该打印出“This is a test”。从目前情况看,我有两个问题。首先,我做了以下操作:”
但是当我尝试查找一个值时,编译器会抱怨:
错误:数组下标无效的类型“StringHash *[const char[5]]”
其次,operator [] 似乎不是正确的语法。我能找到的唯一其他东西是 &operator[],但我认为那不会起作用,因为我必须编写查找过程?(这种语法不仅仅用于返回数组项引用吗?)
我在这里尝试做的事情有可能吗?任何建议都将不胜感激。 :)
似乎有些混淆了我想做什么。我会发布我的代码:
所有帮助完成后的成品:
StringHash* hash = new StringHash;
hash["test"] = "This is a test";
printf(hash["test"]);
这段话的意思是:“它应该打印出“This is a test”。从目前情况看,我有两个问题。首先,我做了以下操作:”
const char* operator[](const char* key) {
for(int i = 0; i < hashSize; ++i) {
if(strcmp(hkeys[i], key) == 0) {return values[i];}
}
return NULL;
}
但是当我尝试查找一个值时,编译器会抱怨:
错误:数组下标无效的类型“StringHash *[const char[5]]”
其次,operator [] 似乎不是正确的语法。我能找到的唯一其他东西是 &operator[],但我认为那不会起作用,因为我必须编写查找过程?(这种语法不仅仅用于返回数组项引用吗?)
我在这里尝试做的事情有可能吗?任何建议都将不胜感激。 :)
似乎有些混淆了我想做什么。我会发布我的代码:
所有帮助完成后的成品: