Download

I need help, error C3867: 'FTransform::Rotator': non-standard syntax...

I want to apply a rotation offset for TargetCameraRotation.

the original code was :



TargetCameraRotation = UKismetMathLibrary::RLerp(InterpResult, DebugViewRotation,GetCameraBehaviorParam(TEXT("Override_Debug")), true);

the following is my code :



TargetCameraRotation = tCameraTransformOffset.Rotator * UKismetMathLibrary::RLerp(InterpResult, DebugViewRotation,GetCameraBehaviorParam(TEXT("Override_Debug")), true);

then got the error message when compiling.

C:/Users/leeha/Documents/UnrealProjects/Sinstorm425/Plugins/ALSV4_CPP-main/Source/ALSV4_CPP/Private/Character/ALSPlayerCameraManager.cpp(113) : error C3867: ‘FTransform::Rotator’: non-standard syntax; use ‘&’ to create a pointer to member
C:/Users/leeha/Documents/UnrealProjects/Sinstorm425/Plugins/ALSV4_CPP-main/Source/ALSV4_CPP/Private/Character/ALSPlayerCameraManager.cpp(112) : error C2678: binary ‘*’: no operator found which takes a left-hand operand of type ‘overloaded-function’ (or there is no acceptable conversion)

Could anyone tell me what is the right syntax for that, Thanks!

You are trying to multiply a rotator times a rotator. That is invalid:



FRotator rot1 = FRotator::ZeroRotator;
FRotator rot2 = FRotator::ZeroRotator;
FRotator rot3 = rot1 * rot2; // not valid


If you explain what you are trying to compute someone should be able to help.

Thank you, I am trying to do combine rotator operation like in blueprints.

To combine rotators you should use + or += (rot1 + rot2)