gpt4 book ai didi

c++ - 你将如何专攻 std::greater

转载 作者:行者123 更新时间:2023-11-27 22:59:56 26 4
gpt4 key购买 nike

有一个

std::list<MyBaseClass*> objects;

你如何(意味着语法)专门化 std::greater对于std::list的排序方法

template<> class std::greater<MyBaseClass*> {
public:
bool operator()(const MyBaseClass*& lhs, const MyBaseClass*& rhs) const
{
return lhs->get_index() > rhs->get_index();
}

产生错误:

C2662: 'int MyBaseClass::get_index(void)' : cannot convert 'this' pointer from 'const MyBaseClass' to 'MyBaseClass &' Conversion loses qualifiers

你能解释一下问题吗?

最佳答案

eidos::MyBaseClass::get_index() 的实现需要标记为“const”。

关于c++ - 你将如何专攻 std::greater,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28803331/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com