【发布时间】:2021-03-04 19:14:09
【问题描述】:
函数在等待指针,但我想在函数查找中返回一个整数(我无法修改函数的返回类型),我该如何解决这个问题?
int hashtable_insert(HashTable ** ptable, void *data, void (*delete) (void *))
{
if(hashtable_lookup(*ptable, data) != -1){
return -1;
}
data = malloc(sizeof(size_t));
list_append((*ptable)->list, data, (*ptable)->size);
_hashtable_resize(ptable);
return 0;
}
警告:指针和整数的比较 if(hashtable_lookup(*ptable, data) != -1){
void * hashtable_lookup(HashTable * table, void *data)
{
for(int i = 0; i < (table)->length; i++){
if((table)->list[i] == data){
return data;
}
}
return -1;
}
警告:return 从整数中生成指针而不进行强制转换 [-Wint-conversion] 返回 -1;
【问题讨论】: