compiler error that depends upon the location of a typedef...

I do realize that "fixes" it, but it's not conducive to how I want to organize the original project file. If that's expected behavior of this compiler are there any alternatives to it? Because IMHO this seems to be more of an error in how the preprocessor is working.