Q: I'm getting strange syntax errors on the very first declaration in a file, but it looks fine.
A: Perhaps there's a missing semicolon at the end of the last declaration in the last header file you're #including. See also questions 2.18, 11.29a, 16.1, and 16.1b.