Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
'char': um nome de caractere universal especifica um caractere inválido
Comentários
Os caracteres representados como nomes de caracteres universais devem representar pontos de código Unicode válidos no intervalo de 0 a 10FFFF. Um nome de caractere universal não pode conter um valor no intervalo alternativo Unicode, D800-DFFF ou em um par alternativo codificado. O compilador gera o par alternativo de um ponto de código válido automaticamente.
No código compilado como C, um nome de caractere universal pode não representar um caractere no intervalo 0000-009F, inclusive, com exceções de 0024 ('$'), 0040 ('@') e 0060 ('`').
No código compilado como C++, um nome de caractere universal pode usar qualquer ponto de código Unicode válido em uma cadeia de caracteres ou literal de caracteres. Fora de um literal, um nome de caractere universal pode não representar um caractere de controle nos intervalos 0000-001F ou 007F-009F, ou ambos, ou um membro do conjunto de caracteres de origem básico. Para saber mais, confira Conjuntos de caracteres.
Exemplo
O exemplo a seguir gera C3850 e mostra como corrigi-lo:
// C3850.cpp
int main() {
int \u0019 = 0; // C3850, not in allowed range for an identifier
const wchar_t * wstr_bad = L"\UD840DC8A"; // C3850, UCN is surrogate pair
const wchar_t * wstr_good = L"\U0002008A"; // Okay, UCN is valid code point
}