Указатель на функцию передачи с или без & - PullRequest
2 голосов
/ 23 апреля 2020

В настоящее время я изучаю разработку игр с использованием 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 )
...