为什么我无法擦除此矢量中的一系列元素?

  • 本文关键字:一系列 元素 擦除 c++
  • 更新时间 :
  • 英文 :


我在擦除部分向量时遇到问题。我有一个名为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);

最新更新