Глубоко внутри WinDef.h есть реликт эпохи сегментированной памяти:
#define far
#define near
Это, очевидно, вызывает проблемы, если вы пытаетесь использовать близкие или дальние имена переменных. Любые чистые обходные пути? Кроме переименования моих переменных?