In a recent code review I came across the following:
constexpr Dimensionless operator"" _(...) {}
In my reading of the standard I cannot work out if this is UB, unspecified behaviour, or underspecified behaviour.
From 17.6.4.3.2 [global.names] we know that:
Each name that begins with an underscore is reserved to the implementation for use as a name in the global namespace.
and from 17.6.4.3.5 [usrlit.suffix] we know that UDLs are exempted:
Literal suffix identifiers that do not start with an underscore are reserved for future standardization.
My question is:
Does the standard allow for a literal that is only an underscore (42_)?