bjs*_*123 12 c++ stl stdmap stdstring
我需要以键值格式存储字符串.所以我正在使用如下的地图.
#include<map>
using namespace std;
int main()
{
map<string, string> m;
string s1 = "1";
string v1 = "A";
m.insert(pair<string, string>(s1, v1)); //Error
}
Run Code Online (Sandbox Code Playgroud)
我在插入行时遇到错误
错误C2784:'bool std :: operator <(const std :: _ Tree <_Traits>&,const std :: _ Tree <_Traits>&)':无法推断'const std :: _ Tree <_Traits>&'的模板参数来自'const std :: string'
我也尝试过make_pair函数,但是这也报告了同样的错误.
m.insert(make_pair(s1, v1));
Run Code Online (Sandbox Code Playgroud)
请告诉我什么是错的,以及解决上述问题的方法是什么.解决了上述问题后,我可以使用下面的方法来检索基于密钥的值
m.find(s1);
Run Code Online (Sandbox Code Playgroud)
Eti*_*tel 36
我想你错过了#include <string>某个地方.
你能试一试吗:
#include<string>
Run Code Online (Sandbox Code Playgroud)
似乎编译器不知道如何比较字符串.也许她对字符串知之甚少,但过于专注于你map自己想出ATM.
小智 5
这是设置 map<...,...> 的方法
static std::map<std::string, RequestTypes> requestTypesMap = {
{ "order", RequestTypes::ORDER },
{ "subscribe", RequestTypes::SUBSCRIBE },
{ "unsubscribe", RequestTypes::UNSUBSCRIBE }
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
71784 次 |
| 最近记录: |