A
an0
Bjarne Stroustrup's "The C++ Language Programming" says at P330:
"Within the scope of String<C>, qualification with <C> is redundant for
the name of the template itself, so String<C>::String is the name for
the constructor. If you prefer, you can be explicit:
template<class T> String<C>: String<C> () { /*...*/ }"
But in fact, I find I cannot use this 'explicit' form for any member
function of a template class with g++ or Comeau.
Is it the problem of the compilers or the book?
"Within the scope of String<C>, qualification with <C> is redundant for
the name of the template itself, so String<C>::String is the name for
the constructor. If you prefer, you can be explicit:
template<class T> String<C>: String<C> () { /*...*/ }"
But in fact, I find I cannot use this 'explicit' form for any member
function of a template class with g++ or Comeau.
Is it the problem of the compilers or the book?