我有一个非常奇怪的错误,当我尝试和使用对象进行排序,在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