Question

Disons que je ce fragment de code qui renvoie une chaîne CLR unicode avec des lettres cyrilliques

    property String^ EIDErrorDescriptionSr { 
       String^ get() 
       {
        switch(EIDErrorCode) 
        {
         case EID_OK: return "Операција успешно завршена";
...

Quand je lis la propriété dans le code C # faisant référence à cette assemblée, je reçois un tas de « ? » comme si le compilateur C ++ « aplati » la chaîne de caractères à un octet.

J'ai sauvé le fichier source C ++ au format UTF-8 (Unicode même) et je reçois toujours cet avertissement du compilateur pour tous les non-ansi caractère:

  

avertissement C4566: caractère représenté   par nom caractère universel « \ u041E »   ne peut pas être représenté dans le courant   page de code (1252)

Maintenant, est-il un commutateur de compilateur compilateur force littéraux traiter comme unicode? Je ne peux pas sembler trouver un.

Était-ce utile?

La solution

Essayez une chaîne Unicode littérale:. L"..."

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top