The comment in the link says “integer, pointer and member pointer template parameters aren’t lvalues” (emphasis mine). It does not say that named integer variables are not lvalues – they are.
If there were such a thing as floating-point template parameters, then they wouldn’t be lvalues either; but named floating-point variables still would be.
solved Named int vs named float