Boost logo

Boost Users :

From: James Hughes (JHughes_at_[hidden])
Date: 2006-03-03 10:37:24


Hello all,

I am pretty sure I am not getting something conceptually here, but can
anyone shed some light please.

I am writing a template class which contains a std::list of weak_ptr<t1>

template<typename T1>
class fred
{
private :
        typedef boost::weak_ptr<T1> MyPtr;
        typdef std::list<MyPtr> MyPtrList;

        MyPtrList MyList;

public :

        DoSomething()
        {
                MyPtrList::iterator pos;

                for (pos = MyList.begin(); pos < MyList.end(); ++pos)
                {
                ...do stuff..
                }
        }
}

Now that looks fine to me, but the line where I declare the iterator fails
with a

error: Expect ';' before 'pos'

and I don't know why - it seems fine to me.

Using boost 1.33.1 recent cross compiler to ARM.

What have I missed? I have tried direct declaration (not using the
typedefs') and get the same result.

If I put list<int>::iterator that compiles fine.

James


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net