g++ compiler may give this error: expected `;' before 'it'
template <typename T>
class MyClass
{ public:
void func()
{
std::list<T>::iterator it;
}
};
The solution is simple, you need add "typename" in front of your declaration of iterator.typename std::list::iterator it;
This is needed when you have a new type declared which is dependant on one or more of the template parameters.You may also find an answer from here:
http://stackoverflow.com/questions/2539709/c-listtiterator-cant-be-used-in-derived-class-template
No comments:
Post a Comment