C++ 需要声明(编译器错误C2059)

C++ 需要声明(编译器错误C2059),c++,syntax,C++,Syntax,下面是一个编译器错误: #include <foo.h> #define ODP ( \ L"bar. " \ // C2059 here L"baz.") #define FFW (5) #包括 #定义ODP(\ L“bar.\//C2059此处 L“baz.” #定义FFW(5) 我做错了什么?您忘记了行拼接字符 #define ODP ( \ \ L"bar. " \ \ L"

下面是一个编译器错误:

#include <foo.h>

#define ODP ( \

    L"bar. " \ // C2059 here

    L"baz.")

#define FFW (5)
#包括
#定义ODP(\
L“bar.\//C2059此处
L“baz.”
#定义FFW(5)

我做错了什么?

您忘记了行拼接字符

#define ODP ( \
              \
    L"bar. "  \
              \
    L"baz.")
不知道你为什么要写这些新词。这一切都归结于

#define ODP (L"bar. baz.")
请注意,字符必须是行中的最后一个字符。并且不能在它们前面放置行注释(
/
),因为行注释将延伸到下一个物理行。如果仍要单独注释行,请使用C样式的注释

#define ODP (         \
    /* this is bar */ \
    L"bar. "          \
    /* this is baz */ \
    L"baz.")

除了明显的空白线之外,最难的是你看不到的空白线。反斜杠后面的空格或制表符也会产生此编译错误。

除了已经列出的语法错误外,您还想做什么?我不知道你想做什么,也不知道你真的不可能告诉你怎么做。