2010-06-24 2 views
0

Следующая дает мне ошибку компилятора:Ожидаемая декларация (ошибка компилятора C2059)

#include <foo.h> 

#define ODP (\ 

    L"bar. " \ // C2059 here 

    L"baz.") 

#define FFW (5) 

Что я делаю неправильно?

+2

В дополнение к уже указанным синтаксическим ошибкам, что вы пытаетесь сделать? Я не знаю, что вы хотите сделать, и не зная, что это действительно невозможно сказать вам, как это сделать. –

ответ

10

Вы забыли линии Splice символов

#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

Другие, чем пустые строки, которые очевидны, жесткий один тот, который вы не можете видеть. Пространство или вкладка после обратного слэша также создает эту ошибку компиляции.