我有一些叫做Order的類。出於某種原因,下面的代碼在使用rbegin()時不會編譯,但它適用於begin()。在我聲明迭代器的方式中有問題,或者我的指針引用有問題嗎?地圖迭代器工作的開始(),但不是rbegin()
map<double, list<Order*>> m
typedef map<double, list<Order*>>::iterator iter;
iter iterator;
iterator = m.rbegin(); // this only works for m.begin()
謝謝!
的確。如果使用C++ 11,你可以嘗試'auto it = m.rbegin();' –