我正在构建一个数据结构来跟踪元素的数量和排名。我有一组我做的结构,当我试图修改结构中的成员时,基于for循环的范围我得到了这个错误:
错误:无法使用const限定类型'const item&'
分配给变量'it'我已经超载了<运营商。我还需要做些什么来使这项工作?
#include <iostream>
#include <stdio.h>
#include <set>
using namespace std;
struct item {
int val, count;
item(int v, int c) : val{v}, count{c} {}
};
bool operator<(const item &a, const item &b) {
return a.val < b.val;
}
class DS {
set<item> S;
public:
void notWorking(int x) {
for (auto &it : S) {
if (it.val < x) it.count++;
}
}
};
int main() {
return 0;
}