В настоящее время я изучаю разработку игр с использованием c ++ в Unreal Engine, и я наткнулся на функцию, которая принимает указатель функции в качестве входных данных:
InputHandle->BindAction("Grab",IE_Pressed, this, &UGrabber::Grab);
Из основы c C ++ Я знаю, что мимоходом указатель на функцию в качестве атрибута (UGrabber :: Grab) - & является необязательным, однако UEngine жалуется на следующий код ошибки, если я опускаю &:
error C3867: 'UGrabber::Grab': non-standard syntax; use '&' to create a pointer to member
Может кто-нибудь объяснить, почему?
Объявление функции BindAction выглядит следующим образом:
FInputActionBinding& BindAction( const FName ActionName, const EInputEvent KeyEvent, UserClass* Object, typename FInputActionHandlerSignature::TUObjectMethodDelegate< UserClass >::FMethodPtr Func )