从对向量中删除一对
Removing a pair from a vector of pairs
我有一个对向量
std::vector<int,double> lambda;
我想删除第 k 个元素,即
lambda.erase(&lambda[k]);
lambda.erase(lambda[k]);
这两种尝试都会引发不匹配的函数调用错误:
error: no matching function for call to ‘std::vector<std::pair<int, double> >::erase(__gnu_cxx::__alloc_traits<std::allocator<std::pair<int, double> >, std::pair<int, double> >::value_type&)’
lambda.erase(lambda[k]);
std::vector::erase
期望迭代器作为其参数;而不是元素本身或指向元素的指针。
你可以
lambda.erase(lambda.begin() + k);
相关文章:
- 从向量的向量中删除向量的组合
- C++ 如何删除向量中的节点
- 删除向量中的空元素
- 删除向量中的指针会导致错误
- 如何通过索引中删除向量中的2个元素的每个倍数
- 在迭代过程中删除向量的唯一元素?
- 删除向量而不删除数组
- 向量问题,如何删除向量中的数组?
- 使用迭代列表中删除向量中的元素
- 如何按顺序删除向量中的重复值
- 擦除范围从std :: vector删除向量的最佳方法
- 在循环中删除向量的一个元素
- 删除向量的第一个元素并将其大小减小 1
- 如何删除向量的指针
- 正确删除向量的元素
- 删除向量中数字的单次出现,当数字在反向遍历时出现多次时
- 删除向量的第一个元素并释放C++中的内存
- 在 c++ 中删除向量的单个元素时出现问题
- C++如何删除向量中的特定对象
- 当包含对象包含unique_ptr时,如何删除向量的元素