好吧,我正在尝试将一个快速的小类作为一种哈希表来工作.如果我可以让它工作,那么我应该能够这样做:
StringHash* hash = new StringHash;
hash["test"] = "This is a test";
printf(hash["test"]);
Run Code Online (Sandbox Code Playgroud)
它应该打印出"这是一个测试".
看起来我现在有2个问题.首先我这样做了:
const char* operator[](const char* key) {
for(int i = 0; i < hashSize; ++i) {
if(strcmp(hkeys[i], key) == 0) {return values[i];}
}
return NULL;
}
Run Code Online (Sandbox Code Playgroud)
但是当我尝试查找值时,编译器会抱怨这一点
错误:数组下标的类型`StringHash*[const char [5]]'无效
其次operator [] =在这里似乎不是正确的语法.我能找到的唯一另一件事是&operator []但是我不认为这会起作用,因为我必须编写查找程序??? (这个语法不仅仅用于返回数组项引用吗?)
我想在这里做什么甚至可能吗?任何建议表示赞赏 :)
似乎对我正在尝试做的事情感到困惑.我会发布我的代码:
所有帮助后的成品: