基于循环更改范围中的自定义类值

时间:2017-08-09 22:42:42

标签: c++ for-loop set

我正在构建一个数据结构来跟踪元素的数量和排名。我有一组我做的结构,当我试图修改结构中的成员时,基于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;
}

0 个答案:

没有答案