Nothing Special:
TestA.h:
#include “CoreMinimal.h”
#include “Interface.h”
#include “TestB.h”
#include “SubclassOf.h”
#include “TestA.generated.h”
TestB:
#include “CoreMinimal.h”
#include “UObject/Object.h”
#include “Classes/BlueprintJsonLibrary.h” //It’s a plugin’s header
#include “TestB.generated.h”
BlueprintJsonLibrary.h:
#include “CoreMinimal.h”
#include “Kismet/BlueprintFunctionLibrary.h”
#include “BlueprintJsonLibrary.generated.h”
error : Class ‘TestA’ contains a dependency (#include or base class) to itself
After I Move the declaration of TestAImpl to TestAImpl.h,It successfully compiled, I don’t even change any include in TestA.h(TestAImpl.h include TestA.h)