gpt4 book ai didi

c++ - multimap 运算符函数错误

转载 作者:行者123 更新时间:2023-11-30 02:52:42 30 4
gpt4 key购买 nike

我正在尝试使用多键结构作为键来创建多重映射,但出现如下错误:

代码:

struct stCont
{
long long Tok;
char Reserved;
long long Asset;
}
struct MultiKey {

char InstrumentName[6];
char Symbol[10];
long long ExpiryDate;
}
struct myComp
{
bool operator() (const MultiKey& lhs, const MultiKey& rhs)
{
if((lhs.ExpiryDate==rhs.ExpiryDate)&&(memcmp(lhs.InstrumentName,rhs.InstrumentName,6))&&(memcmp(lhs.Symbol,rhs.Symbol,10)))
{
return 1;
}

return 0;
}
};
std::multimap<MultiKey, stCont,myComp> cont_map;

错误:

expression having type 'const myComp' would lose some const-volatile qualifiers in order to call 'bool myComp::operator ()(const MultiKey &,const MultiKey &)'

最佳答案

你应该像这样重写多映射代码并删除 mycomp 结构:

struct MultiKey {

char InstrumentName[6];
char Symbol[10];
long long ExpiryDate;


bool operator< (const MultiKey& lhs)const
{
if((lhs.ExpiryDate==ExpiryDate)&&(memcmp(lhs.InstrumentName,InstrumentName,6))&&(memcmp(lhs.Symbol,Symbol,10)))
{
return true;
}

return false;
}


};

关于c++ - multimap 运算符函数错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18655966/

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