1
lfind 및 bsearch가 발견 된 요소에 대한 포인터를 반환 한 후 배열에서 요소의 인덱스를 가져 오려고합니다. 지금까지이 있습니다bsearch 및 lfind에서 색인을 찾으십니까?
cvector :
FOUND는 기능 찾았는지의 주소를, 그리고 기본 주소는 그러나 요소 0의 주소입니다(char *) (found - cv->baseAddress);
이 컴파일러는 나에게 오류를 제공합니다. c : 150 : 28 : warning : 빼기에 사용 된 'void *'유형의 포인터 cvector.c : 150 : 4 : 경고 : 캐스트가없는 포인터에서 정수를 반환합니다.
어떻게해야합니까?
그러면 다음과 같이 보일 수 있습니다. * (int *) (char *) found - cv-> baseAddress/elemSize? @ Joachim Pileborg – girlrockingguna
bsearch() (및 요소 배열의 유형)에 대한 호출을 표시하지 않고는 실제로 말할 수 없습니다. – Medinoc
@ girlrockingguna 거의 괄호가 필요하다. 그렇지 않으면 나눗셈이 잘못 될 것이다 :'((typeOfentries *) found - cv-> baseAddress)/sizeof (typeOfEntries)'. –