3 dimenziós pointeres int hiba, c++. Hol rontom el?
Figyelt kérdés
A képen látszik hogy egy 3 dimenziós intet próbálok létrehozni de mikor futtatom error van, lefordítja csak futásnál fagy le.
A cél az hogy egy 3 dimenziós tömböt méret előre megadása nélkül át tudjak adni más fügvénybe.
Hol rontom el?
2017. szept. 14. 19:04
1/3 anonim válasza:
A két csillagot az inthez kell tenni, nem a változó nevéhez.
2/3 anonim válasza:
Tömböt méret megadás nélkül nem fogsz tudni átadni.
3/3 anonim válasza:
TEhát:
int **a[2];
majd:
*a[i] = new int[2];
Ez mit is csinál? Veszi az 'a' i-edik elemét, és annak a mutatott értékére inicializálsz egy tömböt. A probléma csak az, hogy a[i] nem tartalmaz valid pointert. Amikor egy tömböt létrehozol, az elemei nem kerülnek inicializálásra, lényegében memóriaszemét van bennük. Te ennek a memóriaszemétnek a mutatott címén akarsz valamit létrehozni. Itt a baki.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!