Removing a pair from a vector of pairs
本问题已经有最佳答案,请猛点这里访问。
我有一个成对的向量
1 | std::vector<int,double> lambda; |
我想删除KTH元素,即
1 2 | lambda.erase(&lambda[k]); lambda.erase(lambda[k]); |
这两次尝试都会引发一个不匹配的函数调用错误:
1 2 | 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]); |
你可以
1 | lambda.erase(lambda.begin() + k); |