This is the statement from ISO C++ Standard 14.6.2.1: Dependent types :
A type is dependent if it is
— a template parameter,#1
— a qualified-id with a nested-name-specifier which contains a class-name
that names a dependent type or whose unqualified-id names a dependent type,#2
— a cv-qualified type where the cv-unqualified type is dependent, #3
— a compound type constructed from any dependent type,#4
— an array type constructed from any dependent type or whose size is specified
by a constant expression that is value-dependent, #5
— a template-id in which either the template name is a template parameter
or any of the template arguments is a dependent type or an expression
that is type-dependent or value-dependent.#6
I am unable to understand the last two points?
Can any one give examples for these statements(especially for last #5,#6 )?