今天在做如下代码时,发现如下问题:第三行的代码编译不过去。
typedef boost::shared_ptr<T> SandUnitPTR;
typedef std::vector<SandUnitPTR> SandUnitPTRVector;
typedef SandUnitPTRVector::iterator SandUnitPTRVectorIte;
后来一同事提醒,才想起来应该这样:
typedef typename SandUnitPTRVector::iterator SandUnitPTRVectorIte;