我试图在lfind和bsearch返回指向它找到的元素的指针之后获取数组中元素的索引。到目前为止我有这个:
(char *) (found - cv->baseAddress);
其中find是函数找到的地址,基址是元素0的地址。但编译器给出了这个错误:
cvector.c:150:28:警告:减法中使用的'void *'类型的指针 cvector.c:150:4:warning:return从指针生成整数而没有强制转换
我该怎么办?
答案 0 :(得分:2)
您必须将返回的指针类型转换为正确的类型。然后,您还需要将获得的偏移量除以数组中对象的大小以获得索引。