How can a forward declaration cause "undefined"

Another example: A moment ago all I did was delete some unused starter content and suddenly a completely unrelated c++ filed started complaining about a missing include.

Now he says that he got these issues as well after migrating to 4.18. What he said:

he adds the newly edited file to the
adaptive build

my guess is that the compiler of 4.18
is more strict in terms of includes,
so when you edit a file he’s forced to
recompile that and apply the new
rules, while the others were still
built with 4.17

the way i got to fix all that problems
was to delete all of the intermediate
folders and recompile the whole thing
from scratch and i got all of the
problems in a row

I can confirm that cleaning up the project and regenerating the VS files often fixes the problem (but for me sometimes only temporary). I still believe that this is a bug from UE4. A small one yes but an annoying one at times. The best fix (for me) seems to be to just add any include it wants, even if it means including something twice. At least UE4 then let’s me compile it and the issue does not return. Note that my project was not migrated but also has the same issues.

However this should be reported as a bug but I cannot reproduce it without sending my entire project over to Epic I fear and thus reporting it is pointless… My project does however reproduce this 100% of the time.

At least I’m not the only one with these problems.