使用自定义对象创建带有unordered_map的std :: pair

时间:2017-05-13 18:23:54

标签: c++ swap unordered-map std-pair

我有一个结构

    struct modedata {
        unsigned int id;
        float val1;
        float val2;
        std::string mode;
    };

我需要创建这样的结构:

    std::make_pair(1, std::unordered_map<std::string, modedata >());

即:

    std::pair<unsigned int, std::unordered_map<std::string, modedata >> (1, std::unordered_map<std::string, modedata>());

我在vscompiller中遇到此错误(与mingw一起使用):

    error C2668: 'swap' : ambiguous call to overloaded function.

这让我感到困惑,因为我可以使用这种结构:

    std::unordered_map<std::string, modedata>()

此错误的原因是什么以及如何解决?

0 个答案:

没有答案