gpt4 book ai didi

c++ - 具有类型 'const CompareVPtrs' 的表达式将丢失一些 const-volatile 限定符以便调用

转载 作者:可可西里 更新时间:2023-11-01 16:56:33 33 4
gpt4 key购买 nike

我正在用 C++ 实现十五个益智控制台游戏,引发了以下错误

Error 4  error C3848: expression having type 'const CompareVPtrs' would lose some
const-volatile qualifiers in order to call
'bool CompareVPtrs::operator ()(Vertex *,Vertex *)'
c:\program files\microsoft visual studio 11.0\vc\include\xfunctional
324 1 puzzle15

这是我的结构

struct CompareVPtrs: public binary_function<Vertex*, Vertex*, bool>
{
bool operator()( Vertex *lhs, Vertex *rhs)
{
return equal((int *)lhs->state, (int *)lhs->state+16,
(int *)rhs->state);
}
}
CompareVP;

完整的游戏源代码https://gist.github.com/sunloverz/7338003

最佳答案

这意味着您的比较运算符需要是const:

bool operator()( Vertex *lhs, Vertex *rhs) const
{ // ^^^^^
....
}

关于c++ - 具有类型 'const CompareVPtrs' 的表达式将丢失一些 const-volatile 限定符以便调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19816139/

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