_Pairib":不是"std::map,std::分配器"的成员>>
_Pairib': is not a member of 'std::map,std::allocator>>
我最近更新了我的Visual Studio,现在我收到了很多与_Pairib
相关的错误。有谁知道发生了什么以及我该如何解决这个问题?
错误:
C2039 '_Pairib': is not a member of 'std::map<int,std::string,std::less<int>,std::allocator<std::pair<const
_Kty,_Ty>>>'
with
[
_Kty=int,
_Ty=std::string
]
Sample C:UsersKevinsourcereposSampleSampleSample.cpp 12
示例代码
int main()
{
std::map<int, std::string> test_map;
std::map<int, std::string>::_Pairib res = test_map.insert(std::map<int, std::string>::value_type(0, "Test"));
if (!res.second)
{
}
}
_Pairib
是一个内部实现细节,不应该在你的代码中使用。 最简单的解决方法是用auto
替换所有这些:
auto res = test_map.insert(std::map<int, std::string>::value_type(0, "Test"));
但是,如果您需要指定类型,它是一个std::pair
,第一个元素是迭代器,第二个元素是布尔值。 (std::pair<iterator,bool>
iterator
在哪里std::map<int, std::string>::iterator
。
相关文章:
- 使用std::multimap迭代器创建std::list
- C++中std::resize(n)和std::shrink_to_fit之间的区别
- 来自 std::list 的迭代器 .end() 按预期返回"0xcdcdcdcdcdcdcdcd"但 .begin()
- C++17复制构造函数,在std::unordereded_map上进行深度复制
- 如何导出包含具有"std::unique_ptr"值的"std::map"属性的
- 从持续时间构造std::chrono::system_clock::time_point
- std::具有相同基类的类的变体
- std::向量与传递值的动态数组
- 使用std::vector的OpenCL矩阵乘法
- std::map<struct,struct>::find 找不到匹配项,但是如果我循环通过 begin() 到 end(),我在那里看到匹配项
- std::condition_variable::wait()如何评估给定的谓词
- 如何获取std::result_of函数的返回类型
- std::原子加载和存储都需要吗
- 将对象移动到std::shared_ptr
- std::vector<;uint8_t>;当C++11/14启用时,手动复制而不是调用memcpy
- 是std :: set&lt; std :: future&gt;不可能存在
- 在修改列表后,std :: list&lt; t&gt; :: end()的值是否会更改
- 使用 std::vector<boost::shared_ptr<Base_Class>> 或 boost::p tr_vector 的性能注意事项是什么<Base>
- std::map<std::set, double> AND std:<long>map< std::p air<long, long>, double>
- 如何获取std::vector<DMatch>