I think you can't do that, because the underscore may start a user defined literal suffix.
km!1000
for 1000 kilometers. Here, km is a template that takes an integer argument: struct Kilometer { int v; }
template km(int V) { Kilometer km = Kilometer(V); }