【发布时间】:2016-11-29 07:45:51
【问题描述】:
我在使用 c++ 时遇到问题,尝试使用我自己的函数对播放列表进行排序,但它不起作用。我查看了许多关于可能存在类似问题的帖子,但找不到任何解决方案。 (c++ - <unresolved overloaded function type> -- 我遇到了与这篇文章中相同的错误,但不知道该怎么做)。
请给个提示好吗? :) 这是我的比较函数,comp只是比较小写的字符串。
bool Playlist::byTitleAscend (Music *a, Music *b) { return comp(a->getTitle(), b->getTitle()); }
然后我尝试用它对我的列表进行排序,它会抛出一个错误:/
_musics.sort(byTitleAscend); // ERROR, TODO: why ?
我希望它足够清楚!
在文档中他们使用 const & 但也有人说如果我们不更改对象就没有必要。
错误:
MusicReader/playlist.cpp:148:错误:没有匹配的函数调用“std::list(Music*)::sort(未解决的重载函数类型)” _musics.sort(byTitleAscend);
我将
【问题讨论】:
-
请复制并粘贴实际的错误文本。对我来说看起来很奇怪的一件事是compared with the documentation,您使用
Music *a, Music *b作为参数而不是Music const *a, Music const *b或Music const &a, Music const &b- 如果没有看到_musics的声明,我不能说哪个。 -
我怀疑
byTitleAscend不是静态的。 -
是的,谢谢,现在可以使用了!