literales de cadena Unicode en C ++ / CLI
-
27-09-2019 - |
Pregunta
Digamos que tengo este fragmento de código que devuelve una cadena Unicode CLR con el alfabeto cirílico
property String^ EIDErrorDescriptionSr {
String^ get()
{
switch(EIDErrorCode)
{
case EID_OK: return "Операција успешно завршена";
...
Cuando leí la propiedad en C # código de referencia a este montaje, me sale un montón de la "?" como si el compilador de C ++ "aplanado" la cadena a caracteres de un solo byte.
Me ha guardado el archivo de origen como C ++ UTF-8 (Unicode incluso) y siempre me sale esta advertencia del compilador para cada carácter no ANSI:
advertencia C4566: personaje representado por carácter, nombre universal '\ u041E' no puede ser representado en el actual página de códigos (1252)
Ahora, ¿hay un modificador de compilador a la fuerza compilador para tratar literales como Unicode? Me parece que no puede encontrar uno.
Solución
Trate de una cadena Unicode literal:. L"..."