Я только знакомлюсь с тем, как передать функцию в качестве параметра другой функции, а также с указателями / C в целом.
У меня есть следующая функция, которая принимает другую функцию:
void func(void (*vect) (float *, float), float *x1, float size)
{
vect(&x1, size);
// other instructions
}
Вот как определяется foo
(foo
- это vect
, который я передаю функции):
void foo(float *x1, float size)
{
//
}
И вот как я использую функцию func
func(&foo(&x1, size), &x1, size);
По какой-то причине я получаю следующую ошибку:
error: lvalue required as unary '&' operand
Кто-нибудь поделится своим пониманием того, почему это происходит?