The
static specifier shall be applied only
to the declaration of a variable or function,
to a structured binding declaration (
[dcl.struct.bind]), or
to the declaration of an anonymous union (
[class.union.anon])
. There can be no
static function declarations within a block, nor any
static function parameters
. A
static specifier can be
used in declarations of class members;
[class.static] describes its
effect
. For the linkage of a name declared with a
static specifier,
see
[basic.link].