Поделиться через


Предупреждение компилятора (уровень 1) C4566

символ, представленный универсальным именем "char", не может быть представлен на текущей кодовой странице (страница)

Не все символы Юникода можно представить на текущей кодовой странице ANSI.

Узкие строки (однобайтовые символы) преобразуются в многобайтовые символы, в то время как широкие строки (двухбайтовые символы) не являются.

Следующий пример приводит к возникновению ошибки 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
}