Как вы используете необработанные строки C ++ 0x с GCC 4.5? - PullRequest
15 голосов
/ 05 июня 2010

На этой странице написано, что в GCC 4.5 есть строковые литералы C ++:

http://gcc.gnu.org/projects/cxx0x.html

Но когда я пытаюсь использовать синтаксис с этой страницы:

http://www2.research.att.com/~bs/C++0xFAQ.html#raw-strings

#include <iostream>
#include <string>

using namespace std;

int main()
{
    string s = R"[\w\\\w]";

}

Я получаю эту ошибку:

/ opt / local / bin / g ++ - mp-4.5 -std = gnu ++ 0x -O3 rawstr.cc -o rawstr
rawstr.cc:9:19: ошибка: недопустимый символ '\' в разделителе необработанных строк
rawstr.cc:9:5: ошибка: отклонение 'R' в программе

Каков правильный синтаксис для необработанных строк?

1 Ответ

20 голосов
/ 05 июня 2010

Попробуйте

R"(\w\\\w)";

Разделители […] были изменены на (…) в n3077 .

...