众所周知 在函数中将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];
}
int main()
{
myArray a,b;
a[0]=1;
b[0]=2;
cout<<f(a,b);
return 0;
}
求教