Когда дело доходит до интернационализации & Unicode, я идиот, американский программист. Вот сделка.Строка literal to basic_string <unsigned char>
#include <string>
using namespace std;
typedef basic_string<unsigned char> ustring;
int main()
{
static const ustring my_str = "Hello, UTF-8!"; // <== error here
return 0;
}
Это испускает не-неожиданные жалобы:
cannot convert from 'const char [14]' to 'std::basic_string<_Elem>'
Может быть, у меня была неправильная часть кофе сегодня. Как это исправить? Могу ли я сохранить базовую структуру:
ustring something = {insert magic incantation here};
?
Не отвечаю на ваш вопрос, но читать эту статью на i18n: http://www.joelonsoftware.com/articles/Unicode.html – Starkey
Seen it, но thx –
Вероятно, вам нужно предоставить свою специальную специализацию 'char_traits. AFAIK, '' предоставляет только специализации для 'char' и' wchar_t'. –
Praetorian