求助 关于c++特性
  • 板块学术版
  • 楼主bhbffm35429
  • 当前回复2
  • 已保存回复2
  • 发布时间2024/7/11 16:46
  • 上次更新2024/7/11 17:28:35
查看原帖
求助 关于c++特性
1162860
bhbffm35429楼主2024/7/11 16:46

众所周知 在函数中将vector作为常引用时只要对vector进行修改 下标访问可以正常使用

int f(const vector<int>& a,const vector<int>& b)
{
	return a[0]+b[0];
}

于是我手写了一个类似于vector的类并且重载了[]运算符 但是报错

#include<bits/stdc++.h>
using namespace std;

struct myArray
{
	int dat[505];
	int& operator[] (int x)
	{
		return dat[x];
	}
};

int f(const myArray& a,const myArray& b)
{
	return a[0]+b[0];//15	12	C:\Users\Administrator\Documents\test.cpp	[Error] passing 'const myArray' as 'this' argument discards qualifiers [-fpermissive]
}

int main()
{
	myArray a,b;
	a[0]=1;
	b[0]=2;
	cout<<f(a,b);
	return 0;
}

求教

2024/7/11 16:46
加载中...