2010-06-05 4 views
14

Diese Seite sagt, dass GCC C++ raw Stringliterale 4.5 hat:Wie verwenden Sie C++ 0x rohe Strings mit GCC 4.5?

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

Aber wenn ich versuche, die Syntax von dieser Seite nutzen zu können:

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]"; 

} 

ich dieses Fehler:

/opt/local/bin/g++-mp-4.5 -std = gnu ++ 0x -O3 rawstr. cc -o rawstr
rawstr.cc:9:19: Fehler: ungültige Zeichen '\' in rohem Zeichenfolgebegrenzer
rawstr.cc:9:5: Fehler: Streu 'R' in Programm

Was ist die richtige Syntax für rohe Zeichenketten?

Antwort

18

Versuchen

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

Die Trennzeichen […]-(…) in n3077 verändert wurden.

+0

Das macht es. Vielen Dank. –