我有一個向量類指針std::vector<Square*> listSquares
。我想用類的其中一個屬性作爲關鍵字進行排序。這是我在做什麼std :: sort()在類指針向量上
bool compById(Square* a, Square* b)
{
return a->getId() < b->getId();
}
std::sort(listSquares.begin(), listSquares.end(), compById)
但是編譯器說: 錯誤:沒有匹配函數調用「排序(標準::矢量::迭代器,性病::矢量::迭代器,<懸而未決超載功能類型>)'
我在做什麼錯在這裏?
如果你可以使用C++ 11,你應該做這個拉姆達:'的std ::排序(listSquares.begin(),listSquares.end(),[](方*一,廣場* B ){return a-> getId()< b-> getId;})'。 – leftaroundabout 2013-05-03 20:28:39
確保你確實需要指針而不僅僅是對象。 – chris 2013-05-03 20:30:19
我無法使用C++ 11。 @chris我相信我想使用指針。 – qutab 2013-05-03 20:37:45