我在擦除部分向量时遇到问题。我有一个名为master
的向量(字符串(。通过size((函数验证它的大小为500个元素。我正在尝试擦除一系列元素,从零到一个名为r.
的变量。从我在网上看到的情况来看,这应该非常简单,但在阅读了文档后,我仍然无法理解。这是我的代码:
int r = 100;
master.erase(0,r);
编译器给了我这个错误:
[Error]没有可用于调用的匹配函数'std::vectorstd::__cxx11::basic_string<char>:擦除(int,int&('
。。。在网上搜索后,当人们试图将不同类型的变量添加到向量中时,似乎经常会出现这种情况。然而,我并没有这么做。我只是有一个向量,所有元素都是字符串,我想擦除一个范围。
我做错了什么?
从std::vector::erase文档中,参数应该是迭代器,因此您应该将迭代器作为参数传递,如下所示:
master.erase(master.begin(), master.begin()+100);