C ++:使用未声明的标识符'u8'

时间:2015-10-26 04:45:32

标签: c++ utf-8

const char* hi = "hi"; // ok
const char* hi2 = u8"hi"; // compile error

导致

  

错误:使用未声明的标识符'u8'

我的编译器支持C++ 11

~/Project/cpp  c++ -v
Apple LLVM version 7.0.0 (clang-700.1.76)
Target: x86_64-apple-darwin15.0.0 
Thread model: posix

1 个答案:

答案 0 :(得分:9)

您的编译器不会默认使用C ++ 11。

[9:46pm][wlynch@watermelon /tmp] c++ -c blah.cc
blah.cc:2:19: error: use of undeclared identifier 'u8'
const char* hi2 = u8"hi"; // compile error
                  ^
blah.cc:2:21: error: expected ';' after top level declarator
const char* hi2 = u8"hi"; // compile error
                    ^
                    ;
2 errors generated.
[9:47pm][wlynch@watermelon /tmp] c++ -c -std=c++11 blah.cc
[9:47pm][wlynch@watermelon /tmp]