预期声明(编译器错误C2059)

时间:2010-06-24 18:09:38

标签: c++ syntax

以下是给我一个编译器错误:

#include <foo.h>

#define ODP ( \

    L"bar. " \ // C2059 here

    L"baz.")

#define FFW (5)

我做错了什么?

2 个答案:

答案 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)

除了显而易见的空白线条外,硬盘是你看不到的。反斜杠后面的空格或制表符也会产生此编译错误。