Ошибка компиляции в C-строках - PullRequest
1 голос
/ 05 августа 2011

Я пытаюсь сделать строку

#define TEST_RESULT "<DIDL-Lite xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:upnp=\"urn:schemas-upnp-org:metadata-1-0/upnp/\" xmlns:dlna=\"urn:schemas-dlna-org:metadata-1-0/\" xmlns:pv=\"http://www.pv.com/pvns/\" xmlns=\"urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/\"><container id=\"1\" parentID=\\"0\" childCount=\"0\" restricted=\"1\" ><dc:title>VaibhavVideos</dc:title><upnp:class>object.container</upnp:class></container></DIDL-Lite>"

Я сталкиваюсь со следующей ошибкой компиляции

error: expected ‘)’ before numeric constant
error: stray ‘\’ in program

Кто-нибудь может указать мне на проблему?

Ответы [ 2 ]

8 голосов
/ 05 августа 2011

Эта часть

...parentID=\\"0\"... 

должно быть

...parentID=\\\"0\"... 

Один обратный слеш должен быть записан как \\, а кавычка \", поэтому вам нужно \\\", чтобы получить \"

Или, если вы хотели, чтобы оно было просто ", используйте

...parentID=\"0\"...

Несвязанный бонус: C ++ 0x имеет необработанные строковые литералы

2 голосов
/ 05 августа 2011

У вас есть дополнительная обратная косая черта здесь:

id=\"1\" parentID=\\"0\"
                  ^

Это должно читаться как:

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