Suppose I want to define an integer literal which also allows for negative values, e.g. -12_km.
I.e., I would like to do
using coord_t = long long;
coord_t operator "" _km(long long int);
However, this is not accepted by my compiler (gcc).
The standard mentions a list of the allowed types for the parameter list of such a literal operator, but no signed integer type is among them.
Why is the standard like that? Why doesn't it allow for user-defined signed integer literals?