void print(/* const */ vector<int> &A)
{
for (int i = 0; i < A.size(); i++)
cout << A[i] << " ";
cout << endl;
}
vector<int> operator+(vector<int> &a, vector<int> &b)
{
vector<int> ret = a;
ret.insert(ret.end(), b.begin(), b.end());
return ret;
}
int main(){
vector<int> A = {1,1,1}
vector<int> D = {1,1}
print(A + B)
}
Without decommenting const it says
initial value of reference to non-const must be an lvalue
why is that so ? if operator returns non-const vector and print accepts non-const ?
Aucun commentaire:
Enregistrer un commentaire