我有一個非常奇怪的錯誤,當我嘗試和使用對象進行排序,在C++排序對象
required from 'void std::__final_insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<Album*, std::vector<Album> >; _Compare = bool (*)(const Album*, const Album*)]'
它似乎並沒有一個標準誤差的比較方法,但我看不到任何東西我的代碼錯了。這是比較方法還是排序本身的問題。任何幫助將不勝感激。
我附上了相關代碼:
Album.cpp:http://pastebin.com/0tNrbdrT
Album.h:http://pastebin.com/iY2Yy7qM
AlbumCollection.cpp:http://pastebin.com/gWj0nS8S
AlbumCollection.h:http://pastebin.com/bFrxme5n
相簿收藏分類:
void AlbumCollection::sortAlbums(){
std::sort(albums.begin(), albums.end(), compareAlbums);
}
專輯比較方法:
bool Album::compareAlbums(const Album* a1,const Album* a2)
{
if (a1->getArtist() == a2->getArtist()){
return (a1->getTitle() < a2->getTitle());
}else{
return a1->getArtist() < a2->getArtist()
}
}
的錯誤是:http://pastebin.com/PeXk0FUT
我不知道有多少是相關的,我是很新的C++
請縮小代碼並將其發佈到此處。 [SSCCE](http://www.sscce.org/) – jrok
這只是錯誤的一小部分。請張貼那一行之前的行。 – molbdnilo
請發佈完整的錯誤消息。我想你可以告訴一個句子不以「required from」開始 – Angew