[
Note 2:
In an expression of the form
x.y
or
xp->y
the type of the expression is usually the type of the member
y
of the class of
x
(or the class pointed to by
xp)
. However, if
x
or
xp
refers to a dependent type that is not the current instantiation,
the type of
y
is always dependent
. If
x
or
xp
refers to a non-dependent type or refers to the current instantiation, the
type of
y
is the type of the class member access expression
. —
end note]