Function definition for 'FNetworkPredictionData_Server_Character' not found

I’m working on a custom engine source build and noticed in the CharacterMovementComponent.h file that the lines:

FNetworkPredictionData_Server_Character(const UCharacterMovementComponent& ServerMovement);
	virtual ~FNetworkPredictionData_Server_Character();

Have green underlines which state that neither of the functions have declarations.

Also, just to be clear, this is 100% fresh engine source code from Epic’s git repository.
No changes made yet.
Using VSC 2019.
4.27-plus branch of the engine
The normal 4.27 branch does the same thing, same with chaos branch.

However, in the CharacterMovementComponent.cpp file, the definition does indeed exist for both of those.


What I’ve determined is if I comment out the “PRAGMA_DISABLE_DEPRECATION_WARNINGS” and “PRAGMA_ENABLE_DEPRECATION_WARNINGS” macros from the .cpp you see in the screenshots, right before the definitions, the green squiggles in the .h go away. So what is it about these macros that is causing these warnings?

Shots while having the macros commented out:
.cpp



.h (Squiggles are gone now)

Is it safe to comment them out? I know it seems kind of pedantic but I’d really like to understand why its happening rather than just ignoring it. It also doesn’t help that when I do start adding code then those green squiggles in the .h don’t stay on “FNetworkPredictionData_Server_Character” and “~FNetworkPredictionData_Server_Character”, but instead the more lines you add above them, the more they get pushed down into other bits of code where it seriously doesn’t make any sense for them to be and even span multiple lines of irrelevant code sometimes, making me think I have weird warnings where they shouldn’t be.

Here is also a shot of where those macros are defined:

Edit 1: Fixed a typo.
Edit 2: Fixed another typo and changed “errors” to “warnings”, yes I understand the differences, haha
Edit 3:

So I think I may have found a temporary solution but still not sure if its the correct solution. I have found that if I add a semicolon ; to the end of the macro calls the squiggles also go away.

PRAGMA_ENABLE_DEPRECATION_WARNINGS;
PRAGMA_DISABLE_DEPRECATION_WARNINGS;

Adding those semicolons gets rid of the squiggles, but I’m not sure what this does exactly.