C++ 向量<;共享\u ptr<&燃气轮机&燃气轮机;明显错误

C++ 向量<;共享\u ptr<&燃气轮机&燃气轮机;明显错误,c++,vector,shared-ptr,C++,Vector,Shared Ptr,我有以下问题: 当我试图清除v_doc并保留最后一个元素时,我得到以下错误: C:\Users\hdaher\Documents\Project\CR|u Verification\main.cpp | 292 |错误: 没有用于调用的匹配函数 'std::vector ::清除(std::vector>::迭代器,_gnu_cxx::_normal_迭代器*,std::vector>)'| #包括 #包括 使用名称空间std; int main() { //声明Document类型的向量 向量

我有以下问题:

当我试图清除v_doc并保留最后一个元素时,我得到以下错误:

C:\Users\hdaher\Documents\Project\CR|u Verification\main.cpp | 292 |错误: 没有用于调用的匹配函数 'std::vector

::清除(std::vector>::迭代器,_gnu_cxx::_normal_迭代器*,std::vector>)'|

#包括
#包括
使用名称空间std;
int main()
{
//声明Document类型的向量
向量v_-doc;
//行吗
v_doc.clear();
//此处出错!!清除V_文档并仅保留最后一个元素
v_doc.clear(v_doc.begin(),v_doc.end()-1);
返回0;
}

没有重载。只有不带参数的
clear
可用。您似乎要呼叫。

没有重载。只有不带参数的
clear
可用。看起来您想调用。

使用
。擦除
,同时检查条目迭代器是否有效:

if (v_doc.size() > 1)
    v_doc.erase(v_doc.begin(),v_doc.end()-1);

使用
.erase
,同时检查条目迭代器是否有效:

if (v_doc.size() > 1)
    v_doc.erase(v_doc.begin(),v_doc.end()-1);