2012-03-02 2 views
0

У меня проблема с lvalue-операндом при попытке назначить указатель функции. Я не знаю, где проблема в точности, но я дам вам весь код, который связан с этой конкретной проблемой.lvalue требуется как левый операнд присвоения (а не «use ==»)

double *func(double); //initialization for a pointer to a function that both returns a double and requires a double 

    func = &xsquaredsinx; //trying to make the pointer point at a function that both returns a double and requires a double 
    func = &halfcircle;//others that are the same 
    func = &testfunction; 

Любая помощь будет замечательной.

ответ

3

Неверный формат синтаксиса для func. это объявление объявляет функцию, которая принимает double и возвращает double*. Правильный способ объявить func является:

double (*func)(double); 
+0

Большое спасибо. Это была точная проблема, и теперь она исправлена. Два часа на простой синтаксической ошибке: P Спасибо вам большое! – user1244140

0

Я считаю, что ваше заявление double *func(double); не объявляет указатель на функцию, но только объявляет функцию. Попробуйте вместо double (*func)(double);

Вот хороший учебник: http://www.newty.de/fpt/fpt.html#assign

Смежные вопросы