Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Você pode usar moldes de texto para converter tipos explicitamente.
Sintaxe
cast-expression:
unary-expression
(
type-name
)
cast-expression
type-name:
specifier-qualifier-list
abstract-declarator
optar por
O type-name é um tipo e cast-expression é um valor a ser convertido para esse tipo. Uma expressão com um tipo cast não é um valor l. O cast-expression é convertido como se tivesse sido atribuído a uma variável do tipo type-name. As regras de conversão para atribuições (descritas em Conversões de atribuição) também se aplicam a versões de tipo. A tabela a seguir mostra os tipos que podem ser convertidos para qualquer tipo.
Fundições de tipo jurídico
| Tipos de destino | Fontes potenciais |
|---|---|
| Tipos integrais | Qualquer tipo de inteiro ou tipo de ponto flutuante ou ponteiro para um objeto |
| Ponto flutuante | Qualquer tipo aritmético |
Um ponteiro para um objeto ou void * |
Qualquer tipo de inteiro, void *, um ponteiro para um objeto ou um ponteiro de função |
| Ponteiro de função | Qualquer tipo integral, um ponteiro para um objeto ou um ponteiro de função |
| Uma estrutura, união ou matriz | Nenhum |
| Tipo de vazio | Qualquer tipo |
Qualquer identificador pode ser convertido para void digitar. No entanto, se o tipo especificado em uma expressão de conversão de tipo não voidfor , o identificador que está sendo convertido para esse tipo não poderá ser uma void expressão. Qualquer expressão pode ser convertida em void, mas uma expressão de tipo void não pode ser convertida em nenhum outro tipo. Por exemplo, uma função com void tipo de retorno não pode ter seu retorno convertido para outro tipo.
Uma void * expressão tem um ponteiro de tipo para , não para voido tipo void. Se um objeto for convertido para void digitar, a expressão resultante não poderá ser atribuída a nenhum item. Da mesma forma, um objeto type-cast não é um valor l aceitável, portanto, nenhuma atribuição pode ser feita a um objeto type-cast.
Específico da Microsoft
Uma conversão de tipo pode ser uma expressão de valor l, desde que o tamanho do identificador não seja alterado. Para obter informações sobre expressões de valor l, consulte Expressões de valor L e valor R.
END Específico da Microsoft
Você pode converter uma expressão para digitar void com uma conversão, mas a expressão resultante pode ser usada somente quando um valor não é necessário. Um ponteiro de objeto convertido para void * e de volta para o tipo original retornará ao seu valor original.