Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Du kan använda typgjutningar för att explicit konvertera typer.
Syntax
              cast-expression:
 unary-expression
 
              (
              type-name
              )
              cast-expression
            
              type-name:
 
              specifier-qualifier-list
              abstract-declarator
              välja
              type-name är en typ och cast-expression är ett värde som ska konverteras till den typen. Ett uttryck med en typgjutning är inte ett l-värde. 
              cast-expression Konverteras som om den hade tilldelats till en variabel av typen type-name. Konverteringsreglerna för tilldelningar (som beskrivs i Tilldelningskonverteringar) gäller även för typgjutningar. I följande tabell visas de typer som kan castas till en viss typ.
Gjutna juridiska typer
| Måltyper | Potentiella källor | 
|---|---|
| Integraltyper | Alla heltalstyper eller flyttalstyper eller pekare till ett objekt | 
| Flyttal | Alla aritmetiska typer | 
En pekare till ett objekt, eller void * | 
Alla heltalstyper, void *, en pekare till ett objekt eller en funktionspekare | 
| Funktionspekare | Alla integraltyper, pekare till ett objekt eller en funktionspekare | 
| En struktur, union eller matris | Ingen | 
| Voidtyp | Alla typer | 
Alla identifierare kan castas till void typ. Men om den typ som anges i ett typuttryck inte voidär , kan identifieraren som skickas till den typen inte vara ett void uttryck. Alla uttryck kan gjutas till void, men ett uttryck av typen void kan inte gjutas till någon annan typ. En funktion med void returtyp kan till exempel inte ha sin returgjutning till en annan typ.
Ett void * uttryck har en typpekare till void, inte typ void. Om ett objekt skickas till void typ kan det resulterande uttrycket inte tilldelas till något objekt. På samma sätt är ett typgjutet objekt inte ett acceptabelt l-värde, så ingen tilldelning kan göras till ett typgjutet objekt.
Microsoft-specifik
En typgjutning kan vara ett l-värde-uttryck så länge storleken på identifieraren inte ändras. Information om l-value-uttryck finns i L-Value och R-Value Expressions.
Avsluta Microsoft Specifik
Du kan konvertera ett uttryck till att skriva void med en cast, men det resulterande uttrycket kan bara användas där ett värde inte krävs. En objektpekare som konverteras till void * och tillbaka till den ursprungliga typen återgår till sitt ursprungliga värde.