gg: > The actual question why 5 and 4 and 5u and 4u are accepted in template instantiation but only one is valid It may be a compiler bug. If confirmed you (or someone else) may put it into Bugzilla. Bye, bearophile