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 |