declaration | Function, namespace, object, type, template declaration |
translation-unit ::= [ declaration-seq ] declaration-seq ::= declaration declaration-seq declaration declaration ::= block-decl function-decl template-decl explicit-instantiation explicit-specialization linkage-specification namespace-defn block-decl ::= simple-decl asm-defn namespace-alias-defn using-decl using-directive simple-decl ::= [ decl-specifier-seq ] [ init-declarator-list ] ; decl-specifier ::= storage-class-specifier type-specifier function-specifier friend typedef decl-specifier-seq ::= decl-specifier decl-specifier-seq decl-specifier storage-class-specifier ::= auto register static extern mutable function-specifier ::= inline virtual explicit |
A source file is a sequence of zero or more declarations. See Chapter 2 for a full discussion of declarations.
asm , declarator , function , namespace , template , type , typedef , using , Chapter 2