declarator |
Provides information about a single identifier in a declaration
|
declarator ::= direct-declarator | ptr-operator declarator
init-declarator-list ::= init-declarator | init-declarator-list , init-declarator
init-declarator ::= declarator [initializer]
initializer ::= = initializer-clause | ( expr-list )
initializer-clause ::= assignment-expr | { initializer-list [,] } | { }
initializer-list ::= initializer-clause | initializer-list , initializer-clause
direct-declarator ::= declarator-id |
direct-declarator ( parm-decl-clause ) [cv-qualifier-seq] [exception-specification] |
direct-declarator [ [constant-expr] ] | ( declarator )
ptr-operator ::= * [cv-qualifier-seq] | & | [::] nested-name :: * [cv-qualifier-seq]
declarator-id ::= id-expression | [::] [nested-name ::] type-name
abstract-declarator ::= ptr-operator [abstract-declarator] | direct-abstract-declarator
direct-abstract-declarator ::= [direct-abstract-declarator] ( parm-decl-clause )
[cv-qualifier-seq] [exception-specification] |
[direct-abstract-declarator] [ [constant-expr] ] | ( abstract-declarator )
parm-decl-clause ::= [parm-decl-list] [...] | parm-decl-list , ...
parm-decl-list ::= parm-decl | parm-decl-list , parm-decl
parm-decl ::= decl-specifier-seq declarator [= assignment-expr] |
decl-specifier-seq [abstract-declarator] [= assignment-expr]
exception-specification ::= throw ( [type-id-list] )
type-id-list ::= type-id | type-id-list , type-id
|
|
A declarator provides additional information about a single
identifier in a declaration. The declarator can be part of an object
declaration, a class member declaration, a typedef
declaration, a parameter in a function declaration, and so on.
See Also
declaration, expression,
function, identifier,
type, Chapter 2
|