Коимпилятор ругается на инициализацю ссылки на функцию как написать что бы не было ошибки?
есть класс. в public есть double (*dfActivate)(double);
в private определена double dfLineFunc(double)
в конструкторе this->dfActivate = &this->dfLineFunc;
дает ошибку Ошибка C2276 &: недопустимая операция с выражением привязанной функции-члена support d:\newneural\main.cpp 19
если без & this->dfActivate = this->dfLineFunc;
ошибка Ошибка C3867 "neural_network_lib::Neuron::dfLineFunc": нестандартный синтаксис; используйте "&", чтобы создать указатель на член support d:\newneural\main.cpp 19
и Ошибка C2440 =: невозможно преобразовать "double (__thiscall neural_network_lib::Neuron::* )(double)" в "neural_network_lib::pfdd" support d:\newneural\main.cpp 19
Вы не сможете сохранить указатель на функцию-член в переменной указателя на обычную функцию. Ваши варианты:
- сделать dfLineFunc статической/свободной функцией (что было бы логично для функции активации, неужели она у вас от состояния зависит?);
- сделать dfActive указателем на функцию-член и пользоваться им соответственно.