Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Een abstracte declaratie is een declaratie zonder id, bestaande uit een of meer aanwijzers, matrices of functieaanpassingen. De wijzigingsfunctie van de aanwijzer (*) gaat altijd vooraf aan de id in een declaratieprogramma; matrix ([ ]) en functie ( ( ) ) volgen de id. Als u dit weet, kunt u bepalen waar de id wordt weergegeven in een abstracte declaratie en de declaratie dienovereenkomstig interpreteren. Zie Meer complexe declaraties interpreteren voor aanvullende informatie en voorbeelden van complexe declaraties. Over het algemeen typedef kan worden gebruikt om declaraties te vereenvoudigen. Zie Typedef-declaraties.
Abstracte declaraties kunnen complex zijn. Haakjes in een complexe abstracte declaratie geven een bepaalde interpretatie op, net zoals voor de complexe declaraties in declaraties.
In deze voorbeelden ziet u abstracte declaraties:
int * // The type name for a pointer to type int:
int *[3] // An array of three pointers to int
int (*) [5] // A pointer to an array of five int
int *() // A function with no parameter specification
// returning a pointer to int
// A pointer to a function taking no arguments and
// returning an int
int (*) ( void )
// An array of an unspecified number of constant pointers to
// functions each with one parameter that has type unsigned int
// and an unspecified number of other parameters returning an int
int (*const []) ( unsigned int, ... )
Opmerking
De abstracte declaratie die bestaat uit een set lege haakjes, ( ), is niet toegestaan omdat deze dubbelzinnig is. Het is onmogelijk om te bepalen of de impliciete id deel uitmaakt van de haakjes (in welk geval het een niet-gewijzigd type is) of vóór de haakjes (in dat geval is het een functietype).