When you have a non-inlined ufunction, UHT fails to parse the restrict keyword in its parameter list.
Note: The following compiles (notice that the only change is the use of the FORCEINLINE keyword):
FORCEINLINE UFUNCTION() void TestFunction(const FVector& RESTRICT Location1, const FVector& RESTRICT Location2){}
The following would also compile (notice the removal the UFUNCTION() specifier):
void TestFunction(const FVector& RESTRICT Location1, const FVector& RESTRICT Location2) {}
UFUNCTION() void TestFunction(const FVector& RESTRICT Location1, const FVector& RESTRICT Location2);
Result: error : Missing ')' in parameter list
Expected: No error expected
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-76843 in the post.
0 |
Component | UE - Foundation - Cpp Tools - UnrealHeaderTool |
---|---|
Affects Versions | 4.21, 4.22, 4.23 |
Created | Jul 2, 2019 |
---|---|
Resolved | Aug 27, 2021 |
Updated | Aug 27, 2021 |