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

Nic*_*ner 0 c++ syntax

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

#include <foo.h>

#define ODP ( \

    L"bar. " \ // C2059 here

    L"baz.")

#define FFW (5)
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

Joh*_*itb 10

你忘了了行拼接字符

#define ODP ( \
              \
    L"bar. "  \
              \
    L"baz.")
Run Code Online (Sandbox Code Playgroud)

不知道你为什么要把这些换行.这一切都归结为

#define ODP (L"bar. baz.")
Run Code Online (Sandbox Code Playgroud)

请注意,字符必须是该行的最后一个字符.而且你不能它们之前添加一行注释(//),因为行注释将扩展到下一个物理行.如果您仍想单独注释这些行,请使用C样式注释

#define ODP (         \
    /* this is bar */ \
    L"bar. "          \
    /* this is baz */ \
    L"baz.")
Run Code Online (Sandbox Code Playgroud)