我是一名新手程序员,我希望得到一些帮助,解释为什么以下一个非常简单的哈希函数的实现会返回编译错误:
undefined index: comboapp
编译器返回消息:
test3.c:25:24:错误:调用对象类型'int'不是函数或函数指针
简单地在main中执行我的哈希函数作为一行代码而不是原型函数是很容易的,但如果有人能解释为什么这不起作用,我将非常感激。
答案 0 :(得分:7)
您声明了一个与函数名称相同的变量:
int hash = hash(word);
变量和函数在C中位于相同的命名空间中,因此声明变量会影响函数。因此,当编译器看到hash(word)
时,它会抱怨您尝试使用int
作为函数。
为其中一个使用其他名称。
int hashcode = hash(word);