I am reading thinking in c++ book(Vol.2).I am in template section amd i don't understand typename keyword's meaning and usage.
Here is sample code:
Here why do we write "typename Seq<T>::iterator b" .Maybe i don't understand because Seq<T> is special library.Is it a type of library?Code:#include <iostream> #include <list> #include <memory> #include <vector> using namespace std; template<class T, template<class U, class = allocator<U> > class Seq> void printSeq(Seq<T>& seq) { for(typename Seq<T>::iterator b = seq.begin(); b != seq.end();) cout << *b++ << endl; } int main() { // Process a vector vector<int> v; v.push_back(1); v.push_back(2); printSeq(v); // Process a list list<int> lst; lst.push_back(3); lst.push_back(4); printSeq(lst); } ///:~
I really don not understand typename keyword.
Can someone explain me that please?
Thanks.



LinkBack URL
About LinkBacks


