gpt4 book ai didi

c++ - 在 Visual Studio 中放置并插入 unordered_map?

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

我正在努力使用 VS2010 在 C++ 中使用 unordered_map 做最基本的事情:插入一些东西。

unordered_map<string, string> cats;
//cats.insert("Adam", "Streak");
//cats.emplace("Kyra", "Shadow");

我确信我犯了一个非常简单的错误,但我现在已经花了两个小时试图弄清楚它是否有用。上面的注释行在未注释时都会出错。

cats.insert("Adam", "Streak"); 取消注释时,错误是:

Error 1 error C2678: binary '==' : no operator found which takes a left-hand operand of type 'const std::string' (or there is no acceptable conversion) c:\program files (x86)\microsoft visual studio 10.0\vc\include\xfunctional

cats.emplace("Kyra", "Shadow");取消注释时,错误为:

Error 1 error C2780: 'std::pair<_Ty1,_Ty2> std::_Hash<_Traits>::emplace(_Valty &&)' : expects 1 arguments - 2 provided

我很困惑,因为互联网上有几个使用这种确切语法的示例。例如,cplusplus.com here .

我做错了什么?

最佳答案

两个函数都接受 std::pair<A,B> make_pair是配对的最简单方法。

cats.insert(std::make_pair("Adam", "Streak"));
cats.emplace(std::make_pair("Kyra", "Shadow"));

cats.insert(std::pair<std::string, std::string>("Adam", "Streak"));

http://ideone.com/43GqyB

关于c++ - 在 Visual Studio 中放置并插入 unordered_map?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35354198/

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