Как правильно распечатать flof (*) () в target-c? - PullRequest
0 голосов
/ 15 ноября 2018

У меня есть эти две строки кода, которые я пытаюсь printf на консоли, однако, в target-C я получаю сообщение об ошибке, говорящее, что: format specifies type 'double' but the argument has type 'float (*)()'

Как правильно заставить это работатьв Obj-C?

SomeValue = (float (*)())dlsym(someServices, "someMethod");
printf("%f\n", someValue);

Заранее спасибо!

1 Ответ

0 голосов
/ 15 ноября 2018

someValue в вашем коде - это указатель на функцию, а не значение, возвращаемое соответствующей функцией.Если вам нужно напечатать значение, возвращаемое этой функцией, просто вызовите его:

printf("%f\n", someValue());
//                      ^^

Само собой разумеется, что вам нужно NULL -проверить все, что приходит от dlsym.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...