Я пытаюсь добавить динамический делегат к многоадресному делегату, но мне не удалось заставить его работать так, как я ожидал.Код для назначения приведен ниже:
void UFiniteStateMachine::CreateTransition(TSoftObjectPtr<UFSM_State> from, TSoftObjectPtr<UFSM_State> to, const FQueryTransition &QueryTransitionCallback, float delay)
{
UFSM_Transition* newTransition = NewObject<UFSM_Transition>();
newTransition->transitionTime = delay;
newTransition->QueryTransition.Add(QueryTransitionCallback);
}
Поскольку я хочу вызвать эту функцию в проекте, тип, который я передаю в функцию, представляет собой динамический делегат, определенный следующим образом
DECLARE_DYNAMIC_DELEGATE_OneParam(FQueryTransition, UFSM_Transition*, self);
переменная newTransition определяется следующим образом:
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FQueryTransition, UFSM_Transition*, self);
У кого-нибудь есть указания относительно того, как этого добиться?Он компилируется нормально, но при использовании любой из функций в проекте он выдает ошибку, говоря, что определение события больше не соответствует.Полная информация на скриншоте ниже.
![enter image description here](https://i.stack.imgur.com/72Tac.png)