Honestly, the PlayerCorpse.cpp error didn't make sense to me, but I'm sure somewhere in a dark corner of the C++ standard there's an annoying reason for it and someone that could drone on for hours to explain and justify it.
Reminds me of the old days trying to write code that worked on Windows, XBox, PS2, and Gamecube. That was a set of compilers that could never agree on anything.