我有一个以字符串为键、以 Cnode 结构为值的多重映射:
struct Cnode
{
Cnode() : wtA(0), wtC(0), wtG(0), wtT(0) { }
Cnode(int newA, int newC, int newG, int newT)
: wtA(newA), wtC(newC), wtG(newG), wtT(newT)
{ }
int wtA, wtC, wtG, wtT;
};
Cnode combine_valuesA(const myFast map, const string& key)
{
return std::accumulate(
map.equal_range(key).first,
map.equal_range(key).second,
0,
[](int sumA, int sumC, int sumG, int sumT, myFast::value_type p) //error
{
return Cnode(
sumA + p.second.wtA,
sumC + p.second.wtC,
sumG + p.second.wtG,
sumT + p.second.wtT);
}
);
}
我需要在 Cnode 中为多图上的重复键添加所有整数。这是我得到的错误:
没有从“int”到“Cnode”的可行转换