社区讨论
不会C++入门级语法了怎么办
学术版参与者 8已保存回复 17
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 17 条
- 当前快照
- 1 份
- 快照标识符
- @mhjoigq2
- 此快照首次捕获于
- 2025/11/04 05:55 4 个月前
- 此快照最后确认于
- 2025/11/04 06:34 4 个月前
实现了一个形如这样的重载运算符:
CPPclass XXX{
public:
vector<int> a;
int operator[](int id)
{
return a[id];
}
}x;
但是有一个问题,就是我不能执行形如:
的语句,因为赋值号必须有可修改的左值。
x[i]=(......);的语句,因为赋值号必须有可修改的左值。
我的解决方法是把
int operator[] 改成 int* operator[];并且把 return a[id]; 改成 return a.begin()+id;。但是这个方法失败了,它告诉我这两个的类型不匹配。
该怎么解决?
该怎么解决?
回复
共 17 条回复,欢迎继续交流。
正在加载回复...