ошибка: пустое значение не игнорируется, как должно быть - PullRequest
0 голосов
/ 13 января 2012

Я пытаюсь получить символ функции из динамической библиотеки, а затем мне нужно заменить свою функцию на функцию библиотеки, используя новый указатель на функцию. Код должен быть написан в файле c ++.

Я использовал следующие шаги,

{
void *temp = dlsym(<FLAGS>,<FUNC_NAME>);
*reinterpret_cast<void**>(&real_mal) = temp;
void *p = NULL;
p = real_mal(size);
return p;
}

Но во время компиляции я получаю эту «ошибку: пустое значение не игнорируется, как и должно быть» ошибка

Как мне разрешить вышеуказанную ситуацию?

Спасибо

1 Ответ

1 голос
/ 13 января 2012

Комментарий Иоахима прав. Первая проблема на самом деле ваш актерский состав. Правильный актерский состав real_mal = reinterpret_cast<void*(size_t)>(dlsym(<FLAGS>,<FUNC_NAME>));. Ваш текущий состав скрывает неправильное объявление real_mal.

Как только вы исправите это, вы можете просто написать return real_mal(size);.

...