2010-06-24 6 views
0

Ce qui suit me donne une erreur de compilation:prévue une déclaration (erreur du compilateur C2059)

#include <foo.h> 

#define ODP (\ 

    L"bar. " \ // C2059 here 

    L"baz.") 

#define FFW (5) 

Qu'est-ce que je fais mal?

+2

En plus des erreurs syntaxiques déjà énumérées, qu'essayez-vous de faire? Je ne sais pas ce que tu veux faire, et sans savoir que ce n'est vraiment pas possible de te dire comment le faire. –

Répondre

10

Vous avez oublié les caractères d'épissage de ligne

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

Je ne sais pas pourquoi vous mettez ces nouvelles lignes bien. Tout se résume à

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

Notez que les caractères doivent être les derniers sur la ligne. Et vous ne pouvez pas mettre un commentaire de ligne (//) avant eux, car le commentaire de ligne s'étendrait à la ligne physique suivante. Utilisez C Style de commentaires si vous voulez toujours commenter les lignes séparément

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

autres que les lignes blanches qui sont évidentes, le dur est celui que vous ne pouvez pas voir. Un espace ou une tabulation après le backslash produit également cette erreur de compilation.

Questions connexes