我目前正在创建一个方形列表,其中一个要求是重载前缀和后缀++运算符。重载++运算符以递增迭代器
我试着重载我的.hpp文件中的++运算符以增加一个迭代器。但是,在调用++运算符时,它不会调用重载的代码,只是使用默认值。
iterator& operator ++() { // pre-increment
std::list<int>::iterator i = list_Values.begin();
advance(i,1);
return &*i;
}
iterator operator ++ (int) { // post-increment
std::list<int>::iterator i = list_Values.begin();
advance(i,1);
return &*i;
}
我尝试调用++运算符是这样的:
int* test = sqrList.begin();
++test;
test++;
默认?没有默认的'operator ++'! – Pubby 2012-02-21 22:25:42
@Pubby好吧,当我通过它时,它会进入标准库 – user1219627 2012-02-21 22:26:42
如果我们可以看到完整的类定义,特别是如果您的类型具有基类时,这将有所帮助。 – ildjarn 2012-02-21 22:27:25