std :: mapに必要なオペレータ<()メソッドに問題があります。私は次のように見える複合キーとして構造体を使用しています:私は4つの値を持つ複合キーを使用する導入が、私はオペレータのためにこれを達成する方法がわからないのでstd map複合キー
struct MyKey {
std::string string1;
std::string string2;
std::string string3;
unsigned int uint1;
friend bool operator<(const MyKey& mk1, const MyKey& mk2)
{
return mk1.string1 < mk2.string1 && mk1.string2 < mk2.string2 &&
mk1.string3 < mk2.string3 && mk1.uint1 < mk2.uint1;
}
}
<方法。一度に1つの値しか保存されていないことがわかりました。
誰でも正しい状態がどのように見えるか教えてください。
ありがとうございます!