我正在写这段代码
string largestNumber(const vector<int> &A) {
{
//Doing something
}
result.append(to_string(A[maxindex]));
A.erase(A.begin()+maxindex);
}
cout << result;
}
现在我正在使用擦除功能。从头开始传递迭代器并向其添加索引值。所以我在这里做错了什么?
错误来了
no matching member function for call to 'erase'
我已将矢量标题包含为
#include <vector>
#include <iostream>
#include <algorithm>
#include <string>
答案 0 :(得分:1)
&#34;现在我正在使用擦除功能。&#34;
不,你没有。
根据here
所述的声明类型要求
-T必须符合MoveAssignable的要求。
您无法修改引用const
的{{1}},std::vector
需要非const引用,那么编译错误消息实际上还不清楚?
您必须声明您的函数接收到非const引用参数:
erase()
或使其有资格移动
string largestNumber( /* const */ vector<int> &A) {
// ^^^^^ omit this