【发布时间】:2016-08-09 11:19:33
【问题描述】:
我有这样的课程(我只留下相关部分):
template<class T>
class MyList
{
public:
// ....
typename QList<T*>::iterator begin()
{
return list.begin();
}
typename QList<T*>::iterator end()
{
return list.end();
}
typename QList<T*>::iterator skip(int n)
{
auto ite = list.begin();
while(n --> 0)
++ite;
return ite;
}
QList<T*> list;
};
我去上课的时候:
MyList<Foo*> foo;
for(Foo* f : foo.skip(1)) {
我收到此错误:
'begin' 没有在这个范围内声明
我删除了skip() 调用,循环工作正常...我不明白为什么。为什么会这样,我该如何解决?
【问题讨论】: