2016-11-29 54 views
0

我在使用C++的麻煩,試圖理清我自己的功能,播放列表,但它不工作..我查了很多帖子談論可能的類似問題,但我找不到任何解決方案。 (c++ - <unresolved overloaded function type> - 我在這篇文章中遇到了同樣的錯誤,但不知道該怎麼做)。C++目錄::排序<懸而未決重載功能可按類型>

可以給我一個提示嗎? :) 這裏是我的函數來比較,比較只是比較小寫字符串。

bool Playlist::byTitleAscend (Music *a, Music *b) { return comp(a->getTitle(), b->getTitle()); } 

然後我試着用它梳理我的列表,它拋出一個錯誤:/

_musics.sort(byTitleAscend); // ERROR, TODO: why ? 

我希望這是很清楚!非常感謝您的時間(:

在他們使用const的&的文件,但它也說,如果我們不改變的對象,沒有必要

錯誤:

MusicReader/playlist.cpp:148: error: no matching function for call to 'std::list(Music*)::sort(unresolved overloaded function type)' _musics.sort(byTitleAscend);

我換成<(因爲它沒有示出。

+1

請複製並粘貼實際的錯誤文本。有一件事對我來說很奇怪,[與文檔相比](http://www.cplusplus.com/reference/list/list/sort/),您正在使用'Music * a,Music * b'作爲參數'Music const * a,Music const * b'或'Music const&a,Music const&b' - 我不能說沒有看到'_musics'的聲明。 –

+0

我懷疑'byTitleAscend'不是靜態的。 – molbdnilo

+0

是的,謝謝,它現在可行! –

回答

0

感謝大家!

其實有幾個錯誤, @cokceken是正確的,因爲我忘了補充範圍和真正的問題是,我忘了範圍補償功能太..

再沒有把功能靜態它也不能工作,所以也要感謝@molbdnilo!

我很高興它是那麼快,你是被動的人非常感謝你:)

1
_musics.sort(byTitleAscend); 

線應該在Playlist類範圍。如果不是,則行應該是

_musics.sort(Playlist::byTitleAscend); 
相關問題