【发布时间】:2013-11-11 23:39:07
【问题描述】:
我使用 utf8 并且必须在 char 数组中保存一个常量:
const char s[] = {0xE2,0x82,0xAC, 0}; //the euro sign
但是它给了我错误:
test.cpp:15:40: error: narrowing conversion of ‘226’ from ‘int’ to ‘const char’ inside { } [-fpermissive]
我必须将所有十六进制数字转换为 char,我觉得这很乏味,而且味道不好。还有其他合适的方法吗?
【问题讨论】:
-
@AaronMcDaid 看看我的第一句话?
-
为什么不
const char s[] = u8"\u20AC";? -
正如@KerrekSB 提到的,但它是一个 c++11 功能。