我目前正在創建一個方形列表,其中一個要求是重載前綴和後綴++運算符。重載++運算符以遞增迭代器
我試着重載我的.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