Ожидается объявление (ошибка компилятора C2059) - PullRequest
0 голосов
/ 24 июня 2010

Ниже выдается ошибка компилятора:

#include <foo.h>

#define ODP ( \

    L"bar. " \ // C2059 here

    L"baz.")

#define FFW (5)

Что я делаю не так?

Ответы [ 2 ]

10 голосов
/ 24 июня 2010

Вы забыли символы склейки линий

#define ODP ( \
              \
    L"bar. "  \
              \
    L"baz.")

Не уверен, почему вы положили эти новые строки, хотя. Все сводится к

#define ODP (L"bar. baz.")

Обратите внимание, что символы должны быть последними в строке. И вы не можете поместить комментарий к строке (//) перед их, потому что комментарий к строке будет продолжен до следующей физической строки. Используйте комментарии в стиле C, если вы все еще хотите комментировать строки отдельно

#define ODP (         \
    /* this is bar */ \
    L"bar. "          \
    /* this is baz */ \
    L"baz.")
2 голосов
/ 24 июня 2010

За исключением очевидных пустых строк, трудная - это та, которую вы не видите. Пробел или табуляция после обратной косой черты также приводят к этой ошибке компиляции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...