I've got this little bit of simple code, and it produces lots of "C2001: newline in constant" errors.
The odd thing is that the source code file is in Unicode (UTF-8) and the program is being compiled in Unicode mode (Character Set: Use Unicode Character Set). So why is it complaining?
I need to have lots of Unicode text in my project or I will be put to a great deal of additional effort. If it's going to do this all the time I'll be really annoyed.Code:#define ARROW_DOWN 138 /* '\x8A' */ #define ARROW_LEFT 139 /* '\x8B' */ #define ARROW_RIGHT 140 /* '\x8C' */ #define ARROW_UP 141 /* '\x8D' */ #ifdef WINDOWS # define ARROW_N __T('↑') # define ARROW_E __T('→') # define ARROW_S __T('↓') # define ARROW_W __T('←') # define ARROW_NE __T('↗') # define ARROW_SE __T('↘') # define ARROW_SW __T('↙') # define ARROW_NW __T('↖') # define ARROW_WAIT __T('↻') /* Analogous to isdigit() etc in ctypes */ # define isarrow(c) ( \ (((int)c >= ARROW_DOWN) && ((int)c <= ARROW_UP)) \ || (((int)c >= ARROW_W) && ((int)c <= ARROW_S)) \ || (((int)c >= ARROW_NW) && ((int)c <= ARROW_SW)) \ || ((int)c >= ARROW_WAIT) \ ) #else # define isarrow(c) ( \ (((int)c >= ARROW_DOWN) && ((int)c <= ARROW_UP)) \ ) #endif /* WINDOWS */