Я пытаюсь получить индекс элемента в массиве после того, как lfind и bsearch вернут указатель на найденный элемент. У меня это до сих пор:Определение индекса из bsearch и lfind?
(char *) (found - cv->baseAddress);
где найденный адрес, что нашел функции, а базовый адрес является адресом элемента 0. Однако, компилятор дает мне эту ошибку:
cvector. c: 150: 28: предупреждение: указатель типа 'void *', используемый для вычитания cvector.c: 150: 4: предупреждение: возврат делает целое число от указателя без литья
Что мне делать?
Так будет выглядеть примерно так: * (int *) (char *) found - cv-> baseAddress/elemSize? @Joachim Pileborg – girlrockingguna
Не могу сказать без вас, показывая нам вызов bsearch() (и тип вашего массива элементов). – Medinoc
@girlrockingguna Практически вам нужны дополнительные скобки, иначе деление будет неправильным: '((typeOfentries *) found - cv-> baseAddress)/sizeof (typeOfEntries)'. –