cpp/utility/optional/nullopt t

is an empty class type used to indicate type with uninitialized state. In particular, has a constructor with  as a single argument, which creates an optional that does not contain a value.

must be a non-aggregate and cannot have a default constructor or an initializer-list constructor.

It must have a constructor that takes some implementation-defined literal type.