Ez miért nem jó? : *DogOne = *DogOne;
Hibaüzenet:
assignment to itself.
Mi lehet a baj?










"Ha megnézted volna a kódot ott a *DogOne = *DogOne csillagok nékül van, az meg lehetetlen hogy lefordítsa a fordító."
Most ránéztem a kódra: DogTwo = DogTwo;
Érvényes kifejezés, és teljes joggal warningol a fordító.





Nos ugye a = operátor értékadásra szolgál. Ha önmagát adod meg értékként, az tuti, hogy felesleges művelet. Ha pl. alap típusokkal csinálod, akkor biztos, hogy ez a sok törölhető, nincs érdemi hatása, de mivel ott a kódban, ezért a fordító felhívja rá a figyelmet, mert lehet, hogy pl. az eredeti kód az volt, hogy DogTwo = MasodikKutya, csak a MasodikKutya változó nevét egy sima cserével átírtad mindenhol DogTwo-ra. Ebben az esetben tehát a fordító jogosan jelez, mert ez azt jelenti, hogy valami koncepcionális hiba lehet a kódban.
Persze ugye az értékadó operátor felülírható. Lehet, hogy egy DogTwo = DogTwo amúgy valóban végrehajtana az értékadó operátoron keresztül valami releváns műveletet (pl. kiszámolná a PI-t 100 számjegy pontossággal, lementené egy fájlba, és mindezt naplózná), de ez meg azt jelenti, hogy az értékadó operátort nem értékadásra használod, tehát újabb koncepcionális hiba van az egész kódban.
Tehát a fordító figyelmeztetése jogos.
További kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!