Witam,
mam do napisania pewien program i w jednym poleceniu mam problem. Mamy stworzyc klase przechowujaca tablice i jej rozmiar oraz przeciazyc [] w taki sposob aby dla danego indeksu zmienic wartosc czyli jak dla normalnej tablicy. Fragment programu:
class Array{
private:
int size;
double* tab;
public:
Array(int r, double *t):size(r),tab(t){};
double* operator[](int value){
return &tab[value];
};
friend ostream& operator<<(ostream &, const Array&);
};
ostream & operator <<(ostream & s, const Array & v )
{
for(int i=0; i<v.size; i++)s << v.tab[i] << ',';
s << endl;
return s;
}
int main(){
double t[] = {1,3,3};
Array pp(3,t);
pp[1] = 10000;
cout << pp;
}
kompilator wyrzuca blad: error:lvalue required as left operand of assignment
niestety nie bardzo wiem jak w jaki sposob przeciazyc operatory, aby ominac ten problem. Moze ktos ma jakies wskazowki ;)?