Project has stopped compiling

Apropos of nothing, my game project now fails to build in Visual Studio. I am getting multiple errors building the engine code. I’ve tried restarting VS, restarting the PC, deleting the solution / intermediate files and regenerating them, and still get the errors. They all seem related to the GENERATED_UCLASS_BODY() macro. Any ideas?

2>  PCH.Signals.h.cpp
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\Components/ActorComponent.h(48): error C2027: use of undefined type 'FFrame'
2>  C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\CoreUObject\Public\UObject\Script.h(10): note: see declaration of 'FFrame'
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\Components/ActorComponent.h(48): error C2228: left of '.StepCompiledIn' must have class/struct/union
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\Components/ActorComponent.h(48): error C2228: left of '.Code' must have class/struct/union
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\Components/SceneComponent.h(91): error C2027: use of undefined type 'FFrame'
2>  C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\CoreUObject\Public\UObject\Script.h(10): note: see declaration of 'FFrame'
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\Components/SceneComponent.h(91): error C2228: left of '.StepCompiledIn' must have class/struct/union
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\Components/SceneComponent.h(91): error C2228: left of '.StepCompiledInRef' must have class/struct/union
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\Components/SceneComponent.h(91): error C2530: 'Z_Param_Out_SweepHitResult': references must be initialized
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\Components/SceneComponent.h(91): error C2143: syntax error: missing ';' before '>'
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\Components/SceneComponent.h(91): error C2059: syntax error: '>'
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\Components/SceneComponent.h(91): error C2228: left of '.Code' must have class/struct/union
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\Components/SceneComponent.h(91): error C2530: 'Z_Param_Out_Children': references must be initialized
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\Components/SceneComponent.h(91): error C2939: 'TArray<USceneComponent *,FDefaultAllocator>': template-id redefined as a local data variable
2>  C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\Components/SceneComponent.h(112): note: see declaration of 'TArray<USceneComponent *,FDefaultAllocator>'
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\Components/SceneComponent.h(91): error C2530: 'Z_Param_Out_Parents': references must be initialized
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\Components/SceneComponent.h(91): error C2530: 'Z_Param_Out_DeltaTransform': references must be initialized
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\Components/SceneComponent.h(91): error C2530: 'Z_Param_Out_NewTransform': references must be initialized
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\GameFramework/Actor.h(71): error C2027: use of undefined type 'FFrame'
2>  C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\CoreUObject\Public\UObject\Script.h(10): note: see declaration of 'FFrame'
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\GameFramework/Actor.h(71): error C2228: left of '.StepCompiledIn' must have class/struct/union
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\GameFramework/Actor.h(71): error C2228: left of '.Code' must have class/struct/union
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\GameFramework/Actor.h(71): error C2228: left of '.StepCompiledInRef' must have class/struct/union
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\GameFramework/Actor.h(71): error C2530: 'Z_Param_Out_OutLocation': references must be initialized
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\GameFramework/Actor.h(71): error C2143: syntax error: missing ';' before '>'
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\GameFramework/Actor.h(71): error C2059: syntax error: '>'
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\GameFramework/Actor.h(71): error C2530: 'Z_Param_Out_OutRotation': references must be initialized
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\GameFramework/Actor.h(71): error C2530: 'Z_Param_Out_OutActors': references must be initialized
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\GameFramework/Actor.h(71): error C2939: 'TArray<AActor *,FDefaultAllocator>': template-id redefined as a local data variable
2>  C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\GameFramework/Actor.h(401): note: see declaration of 'TArray<AActor *,FDefaultAllocator>'
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\GameFramework/Actor.h(71): error C2530: 'Z_Param_Out_OverlappingComponents': references must be initialized
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\GameFramework/Actor.h(71): error C2939: 'TArray<UPrimitiveComponent *,FDefaultAllocator>': template-id redefined as a local data variable
2>  C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\GameFramework/Actor.h(1296): note: see declaration of 'TArray<UPrimitiveComponent *,FDefaultAllocator>'
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\GameFramework/Actor.h(71): error C2530: 'Z_Param_Out_OverlappingActors': references must be initialized
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\GameFramework/Actor.h(71): error C2530: 'Z_Param_Out_RelativeTransform': references must be initialized
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\GameFramework/Actor.h(71): error C2530: 'Z_Param_Out_NewRelativeTransform': references must be initialized
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\GameFramework/Actor.h(71): error C2530: 'Z_Param_Out_SweepHitResult': references must be initialized
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\GameFramework/Actor.h(71): error C2530: 'Z_Param_Out_NewTransform': references must be initialized
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\GameFramework/Actor.h(71): error C2530: 'Z_Param_Out_DeltaTransform': references must be initialized
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\GameFramework/Actor.h(71): error C2530: 'Z_Param_Out_Origin': references must be initialized
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\GameFramework/Actor.h(71): error C2146: syntax error: missing ';' before identifier 'Z_Param_Out_BoxExtentTemp'
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\GameFramework/Actor.h(71): error C2065: 'Z_Param_Out_BoxExtentTemp': undeclared identifier
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\GameFramework/Actor.h(71): error C2065: 'Z_Param_Out_BoxExtent': undeclared identifier
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\GameFramework/Pawn.h(33): error C2027: use of undefined type 'FFrame'
2>  C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\CoreUObject\Public\UObject\Script.h(10): note: see declaration of 'FFrame'
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\GameFramework/Pawn.h(33): error C2228: left of '.Code' must have class/struct/union
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\GameFramework/Pawn.h(33): error C2228: left of '.StepCompiledIn' must have class/struct/union
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\Engine/GameViewportClient.h(54): error C2027: use of undefined type 'FFrame'
2>  C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\CoreUObject\Public\UObject\Script.h(10): note: see declaration of 'FFrame'
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\Engine/GameViewportClient.h(54): error C2228: left of '.StepCompiledIn' must have class/struct/union
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\Engine/GameViewportClient.h(54): error C2228: left of '.Code' must have class/struct/union
2>c:\program files (x86)\epic games\4.11\engine\source\runtime\engine\classes\engine\GameInstance.h(38): error C2027: use of undefined type 'FFrame'
2>  C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\CoreUObject\Public\UObject\Script.h(10): note: see declaration of 'FFrame'
2>c:\program files (x86)\epic games\4.11\engine\source\runtime\engine\classes\engine\GameInstance.h(38): error C2228: left of '.StepCompiledIn' must have class/struct/union
2>c:\program files (x86)\epic games\4.11\engine\source\runtime\engine\classes\engine\GameInstance.h(38): error C2228: left of '.Code' must have class/struct/union
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\Materials/MaterialInterface.h(164): error C2027: use of undefined type 'FFrame'
2>  C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\CoreUObject\Public\UObject\Script.h(10): note: see declaration of 'FFrame'
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\Materials/MaterialInterface.h(164): error C2228: left of '.Code' must have class/struct/union
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\Engine/SkeletalMesh.h(585): error C2027: use of undefined type 'FFrame'
2>  C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\CoreUObject\Public\UObject\Script.h(10): note: see declaration of 'FFrame'
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\Engine/SkeletalMesh.h(585): error C2228: left of '.StepCompiledIn' must have class/struct/union
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\Engine/SkeletalMesh.h(585): error C2228: left of '.Code' must have class/struct/union
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\GameFramework/Character.h(224): error C2027: use of undefined type 'FFrame'
2>  C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\CoreUObject\Public\UObject\Script.h(10): note: see declaration of 'FFrame'
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\GameFramework/Character.h(224): error C2228: left of '.Code' must have class/struct/union
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\GameFramework/Character.h(224): error C2228: left of '.StepCompiledIn' must have class/struct/union
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\GameFramework/Character.h(224): error C2228: left of '.StepCompiledInRef' must have class/struct/union
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\GameFramework/Character.h(224): error C2530: 'Z_Param_Out_PreviousFloorImpactNormal': references must be initialized
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\GameFramework/Character.h(224): error C2143: syntax error: missing ';' before '>'
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\GameFramework/Character.h(224): error C2059: syntax error: '>'
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\GameFramework/Character.h(224): error C2146: syntax error: missing ';' before identifier 'Z_Param_Out_PreviousFloorContactNormalTemp'
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\GameFramework/Character.h(224): error C2065: 'Z_Param_Out_PreviousFloorContactNormalTemp': undeclared identifier
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\GameFramework/Character.h(224): error C2065: 'Z_Param_Out_PreviousFloorContactNormal': undeclared identifier
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\GameFramework/Character.h(224): error C2146: syntax error: missing ';' before identifier 'Z_Param_Out_PreviousLocationTemp'
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\GameFramework/Character.h(224): error C2065: 'Z_Param_Out_PreviousLocationTemp': undeclared identifier
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\GameFramework/Character.h(224): error C2065: 'Z_Param_Out_PreviousLocation': undeclared identifier
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\GameFramework/Controller.h(35): error C2027: use of undefined type 'FFrame'
2>  C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\CoreUObject\Public\UObject\Script.h(10): note: see declaration of 'FFrame'
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\GameFramework/Controller.h(35): error C2228: left of '.Code' must have class/struct/union
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\GameFramework/Controller.h(35): error C2228: left of '.StepCompiledIn' must have class/struct/union
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\GameFramework/Controller.h(35): error C2228: left of '.StepCompiledInRef' must have class/struct/union
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\GameFramework/Controller.h(35): error C2530: 'Z_Param_Out_NewLocation': references must be initialized
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\GameFramework/Controller.h(35): error C2143: syntax error: missing ';' before '>'
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\GameFramework/Controller.h(35): error C2059: syntax error: '>'
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\GameFramework/Controller.h(35): error C2530: 'Z_Param_Out_NewRotation': references must be initialized
2>c:\program files (x86)\epic games\4.11\engine\source\runtime\engine\classes\camera\CameraShake.h(112): error C2027: use of undefined type 'FFrame'
2>  C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\CoreUObject\Public\UObject\Script.h(10): note: see declaration of 'FFrame'
2>c:\program files (x86)\epic games\4.11\engine\source\runtime\engine\classes\camera\CameraShake.h(112): error C2228: left of '.Code' must have class/struct/union
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\Camera/PlayerCameraManager.h(166): error C2027: use of undefined type 'FFrame'
2>  C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\CoreUObject\Public\UObject\Script.h(10): note: see declaration of 'FFrame'
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\Camera/PlayerCameraManager.h(166): error C2228: left of '.StepCompiledIn' must have class/struct/union
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\Camera/PlayerCameraManager.h(166): error C2228: left of '.Code' must have class/struct/union
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\Camera/CameraActor.h(15): error C2027: use of undefined type 'FFrame'
2>  C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\CoreUObject\Public\UObject\Script.h(10): note: see declaration of 'FFrame'
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\Camera/CameraActor.h(15): error C2228: left of '.Code' must have class/struct/union
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\Components/InputComponent.h(553): error C2027: use of undefined type 'FFrame'
2>  C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\CoreUObject\Public\UObject\Script.h(10): note: see declaration of 'FFrame'
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\Components/InputComponent.h(553): error C2228: left of '.StepCompiledIn' must have class/struct/union
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\Components/InputComponent.h(553): error C2228: left of '.StepCompiledInRef' must have class/struct/union
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\Components/InputComponent.h(553): error C2530: 'Z_Param_Out_StickX': references must be initialized
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\Components/InputComponent.h(553): error C2226: syntax error: unexpected type 'TProperty_Numeric<float>::TCppType'
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\Components/InputComponent.h(553): error C2143: syntax error: missing ';' before '>'
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\Components/InputComponent.h(553): error C2059: syntax error: '>'
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\Components/InputComponent.h(553): error C2530: 'Z_Param_Out_StickY': references must be initialized
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\Components/InputComponent.h(553): error C2228: left of '.Code' must have class/struct/union
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\Components/InputComponent.h(553): error C2530: 'Z_Param_Out_DeltaX': references must be initialized
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\Components/InputComponent.h(553): error C2530: 'Z_Param_Out_DeltaY': references must be initialized
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\Components/InputComponent.h(553): error C2530: 'Z_Param_Out_LocationX': references must be initialized
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\Components/InputComponent.h(553): error C2530: 'Z_Param_Out_LocationY': references must be initialized
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\Components/InputComponent.h(553): error C2530: 'Z_Param_Out_bIsCurrentlyPressed': references must be initialized
2>C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\Engine\Classes\Components/InputComponent.h(553): error C2062: type 'bool' unexpected
2>c:\program files (x86)\epic games\4.11\engine\source\runtime\engine\classes\curves\CurveBase.h(746): error C2027: use of undefined type 'FFrame'
2>  C:\Program Files (x86)\Epic Games\4.11\Engine\Source\Runtime\CoreUObject\Public\UObject\Script.h(10): note: see declaration of 'FFrame'
2>c:\program files (x86)\epic games\4.11\engine\source\runtime\engine\classes\curves\CurveBase.h(746): error C2228: left of '.StepCompiledInRef' must have class/struct/union
2>c:\program files (x86)\epic games\4.11\engine\source\runtime\engine\classes\curves\CurveBase.h(746): error C2530: 'Z_Param_Out_MinValue': references must be initialized
2>c:\program files (x86)\epic games\4.11\engine\source\runtime\engine\classes\curves\CurveBase.h(746): error C2226: syntax error: unexpected type 'TProperty_Numeric<float>::TCppType'
2>c:\program files (x86)\epic games\4.11\engine\source\runtime\engine\classes\curves\CurveBase.h(746): error C2143: syntax error: missing ';' before '>'
2>c:\program files (x86)\epic games\4.11\engine\source\runtime\engine\classes\curves\CurveBase.h(746): error C2059: syntax error: '>'
2>c:\program files (x86)\epic games\4.11\engine\source\runtime\engine\classes\curves\CurveBase.h(746): error C2530: 'Z_Param_Out_MaxValue': references must be initialized
2>c:\program files (x86)\epic games\4.11\engine\source\runtime\engine\classes\curves\CurveBase.h(746): fatal error C1003: error count exceeds 100; stopping compilation

Incredible! This was caused when I created a class

template<class T>
class Stack
{
}

in a file called ‘Stack.h’. The mere presence of that file in the game source folder breaks the entire build!

Dear Epic. this is a very unpleasant feature of your engine. I can’t help but notice the lack of namespacing (both logical and physical) and this sort of painful, Saturday-wasting stupidity, could have been avoided. Also, not having a TStack class of your own is a bit of an omission!