我正在使用 putty 访问 linux bash。我已经通过一些修改覆盖了“默认设置”。如何将默认值设置回原来的值?
我试着用:
std::map<std::wstring, std::pair<std::wstring, INT_PTR>> mm;
**mm.insert(_T("name"), std::make_pair(_T("value1"), static_cast<INT_PTR>(1));**
Run Code Online (Sandbox Code Playgroud)
这有什么问题?
如果我用这个:
mm[_T("name")] = std::make_pair(_T("value1"), static_cast<INT_PTR>(1));
Run Code Online (Sandbox Code Playgroud)
有用.
错误是这样的:
No constructor could take the source type, or constructor overload resolution was ambiguous
Run Code Online (Sandbox Code Playgroud)
与此相同:
std::map<std::wstring, std::vector<std::pair<std::wstring, INT_PTR>>> mm;
std::vector <std::pair<std::wstring, INT_PTR>> vec;
vec.push_back(std::make_pair(_T("value1"), static_cast<INT_PTR>(1)));
mm.insert(_T("name"), vec);
Run Code Online (Sandbox Code Playgroud)
为什么它可以像这样使用"insert_or_assign"?
mm.insert_or_assign(_T("name"), vec);
Run Code Online (Sandbox Code Playgroud)