Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Vous pouvez utiliser des casts de type pour convertir explicitement des types.
Syntaxe
expression de cast:
expression unaireexpression de castde**)** nom du type de**(**
nom de type:
résumé-déclarateur de spécificateur-qualificateur-liste opt
Le nom de type est un type et l'expression de cast est une valeur à convertir en ce type.Une expression avec un cast de type n'est pas une l-value.L'expression de cast est convertie comme s'il avait été assignée à une variable du nom de typede type.Les règles de conversion pour les assignations (présentées dans Conversions d'assignation) s'appliquent à des casts de type également.Le tableau suivant affiche les types qui peuvent être castées en un type donné.
Casts de types autorisés
types de destination |
Sources potentielles |
|---|---|
Types intégraux |
Tout type ou type à virgule flottante entier, ou pointeur vers un objet |
virgule flottante |
tout type arithmétique |
Un pointeur vers un objet, ou (void *) |
Tout type entier, (void *), un pointeur vers un objet, ou un pointeur fonction |
Pointeur fonction |
Tout type intégral, un pointeur vers un objet, ou un pointeur fonction |
Une structure, une union, ou un tableau |
Aucun |
type void |
Tout type |
Tout identificateur peut être casté au type d' void .Toutefois, si le type spécifié dans une expression de cast de type n'est pas void, puis l'identificateur être casté en ce type ne peut pas être une expression d' void .Toute expression peut être casté en void, mais une expression de type void ne peut pas être casté en un autre type.Par exemple, une fonction de type de retour d' void ne peut pas avoir son cast de retour à un autre type.
notez qu'une expression de void * a un pointeur de type à void, pas type void.Si un objet est attribuée au type d' void , l'expression obtenue ne peut pas être assignée à un élément.De même, un objet de conversion de type n'est pas une l-value acceptable, aucun assignation ne peut être fait à un objet de conversion de type.
Spécifique à Microsoft
Un cast de type peut être une expression lvalue tant que la taille de l'identificateur ne change pas.Pour plus d'informations sur les expressions l-value, consultez l' Expressions l-value et de R-Valeur.
détail de FIN Microsoft
Vous pouvez convertir une expression en un type void avec un cast, mais l'expression obtenue peut être utilisée uniquement si une valeur n'est pas requise.Un pointeur d'objet converti en void * puis vers le type d'origine retrouve sa valeur d'origine.