The initializer can be omitted for a reference only in a parameter declaration (
[dcl.fct]),
in the declaration of a function return type, in the declaration of
a class member within its class definition (
[class.mem]), and where the
extern
specifier is explicitly used
.