Having trouble declaring a class member which is an iterator.
Problem seems to be something to do with nesting of templatisation.
Tried various experiments, and alot of googling, but to no avail.

Here's the problem...

Code:
  template <typename MyTypeOne>
  class MyInnerClass {
  public:
    MyTypeOne theData;
  };

  
  template <typename MyTypeTwo>
  class MyOuterClass {
  public:

  list < MyInnerClass<MyTypeTwo> > theListMember;
  // this line compiles ok

  list <int>::iterator theSimpleIterMember;
  // this line compiles ok

  list <MyInnerClass<MyTypeTwo> >::iterator theNestingIterMember;
  // this line causes the compiler to generate the following error...
  // error: expected `;' before "theNestingIterMember"
  // my compiler is g++
Can anybody shed some light on this?

Regards,
Doug W