以下是给我一个编译器错误:
#include <foo.h>
#define ODP ( \
L"bar. " \ // C2059 here
L"baz.")
#define FFW (5)
我做错了什么?
答案 0 :(得分:10)
您忘记了行拼接字符
#define ODP ( \
\
L"bar. " \
\
L"baz.")
不确定为什么要把这些换行。这一切都归结为
#define ODP (L"bar. baz.")
请注意,字符必须是该行的最后一个字符。并且您不能在之前添加行注释(//
),因为行注释将扩展到下一个物理行。如果您仍想单独评论这些行,请使用C样式注释
#define ODP ( \
/* this is bar */ \
L"bar. " \
/* this is baz */ \
L"baz.")
答案 1 :(得分:2)
除了显而易见的空白线条外,硬盘是你看不到的。反斜杠后面的空格或制表符也会产生此编译错误。