这里我有类ColVol
的对象数组,它定义了带有int
的三维点 - 类型颜色和体积(int
也是如此)。如果颜色在[1,10]之间,则任务是按体积对数组进行排序。错误是the expression must be modifiable lvalue
?这里只是函数的声明。我不知道这里排序的类型最好,为什么
temp
变量为
int, object.get_method() (
时,我会发现错误,在这种情况下,数组为{{1} }为f[] and f[i].get_volume()
int`)?它们属于同一类型。
答案 0 :(得分:1)
您需要以下修复程序(至少要进行此编译):
将方法get_color添加到ColPoint3:
U get_color(){
return color;
}
更改get_volume的签名:
V& get_volume() {
^~~~!
return volume;
}
最后定义你的构造函数
[编辑]
至于排序,为什么不std :: sort?
std::sort(f, f + n, [](auto &lop, auto &rop){
return lop.get_volume() < rop.get_volume();
});