błąd przypisania do tablicy
Ostatnio zmodyfikowano 2014-01-30 23:40
zkazany Temat założony przez niniejszego użytkownika |
błąd przypisania do tablicy » 2014-01-30 22:48:48 Witam const int rozm = 3; samochod *org = new samochod[rozm]; dostawczy man(10.,2.); org = &man; osobowy opel(1.,1.); org[1] = &opel; osobowy audi(0.5,2.); org[2] =&audi; for(int i=0;i<rozm;i++){ org.info(); org.marka(); cout<<org.jedz()<<endl; }
kompilator wywala bład [Error] no match for 'operator=' in '*(org + 24u) = & opel' |
|
Monika90 |
» 2014-01-30 23:24:16 org[ 1 ] = & opel; Niezdefiniowane zachowanie - wskaźnik org wskazuje na pojedyńczy obiekt, nie na tablicę. Pomijam fakt że, to niezgodność typów, bo typem org[1] jest samochod, a nie samochod* org[ 2 ] = & audi; To samo. A oprócz tego masz wyciek pamięci. |
|
zkazany Temat założony przez niniejszego użytkownika |
» 2014-01-30 23:34:53 czyli ten kod nie deklaruje tablicy?? samochod *org = new samochod[rozm];
|
|
Monika90 |
» 2014-01-30 23:40:49 Ten kod deklaruje wskaźnik, tworzy tablicę dynamiczną i inicjalizuje wskaźnik adresem pierwszego elementu tej tablicy. Za to ten kod org = & man; mówi: zapomnij o tej tablicy, od teraz wskaźnik ma pokazywać na obiekt man. |
|
« 1 » |