
David Abrahams <dave@boost-consulting.com> writes: | Gabriel Dos Reis <gdr@integrable-solutions.net> writes: | | > Gennaro Prota <gennaro_prota@yahoo.com> writes: | > | > | Just that with one rule the user can choose what the name should | > | refer to, with the other one he/she cannot. | > | > I understand the reasoning of letting the user says what the name | > should refer to. Which makes me inclined to make the construct | > ill-formed: That is not different from the rule that says you cannot | > reclare a template-parameter in its scope. | | That would be horrible for generic code. Care to explain why? | What are the requirements | on the T parameter of this class template? | | template <class T> | struct Der : T | { | template <class U> | void f(U x) | {} | }; Should those requirements be different from those for template<class S> struct Der : S { template<class U> void f(U x) { } }; ? -- Gaby