Udostępnij za pośrednictwem


Ostrzeżenie kompilatora (poziom 1) C4566

znak reprezentowany przez znak-uniwersalny 'char' nie może być reprezentowany na bieżącej stronie kodowej (strona)

Nie każdy znak Unicode może być reprezentowany na bieżącej stronie kodu ANSI.

Wąskie ciągi (znaki jednobajtowe) są konwertowane na znaki wielobajtowe, natomiast szerokie ciągi (znaki dwubajtowe) nie są.

Poniższy przykład generuje C4566:

// C4566.cpp
// compile with: /W1
int main() {
   char c1 = '\u03a0';   // C4566
   char c2 = '\u0642';   // C4566

   wchar_t c3 = L'\u03a0';   // OK
   wchar_t c4 = L'\u0642';   // OK
}