Except as described below, an expression used in a context where a
constant expression is required is value-dependent if any
subexpression is value-dependent.
An expression of the form &qualified-id where the
qualified-id names a dependent member of the current
instantiation is value-dependent.
An expression of the form &cast-expression
is also value-dependent if evaluating cast-expression
as a core constant expression succeeds and
the result of the evaluation refers to a templated entity
that is an object with static or thread storage duration or a member function.