Hogyan kerülhető el a "c++ warning: operation 'változónév' on may be undefined" hiba?
Mivel nem találtuk meg, hogy hol romlik el egy konvertálás, így ideiglenesen úgy döntöttünk, hogy kézzel megjavítjuk az értéket (hozzáadunk 1-et, és leosztjuk négyharmaddal), igen, ez csúnya megoldás, de most hirtelen jó lesz (tehát ne ezt firtassátok a válaszban). A lényeg, hogy miért nyafog a fordító, hogyha 0 marad az érték? Tudom, sok helyen azt javasolják, hogy a hamis ágban legyen -1, de az meg azért nem jó, mert akkor a következő vizsgálatnál bonyolultabb lesz a kód, mert azt is kell vizsgálni, hogy 0 vagy esetleg -1-e az érték. Ötlet?
relDistance = relDistance ? (++relDistance *=3) /= 4 : 0;
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
Erre a sorra írja a hibát? És mi az a 'változónév'? Átírtad vagy így írja ki a hibát?
Egyébként direkt van túlbonyolítva ez a "hozzáadunk 1-et, és leosztjuk négyharmaddal"? Ez nem lenne jobb:
relDistance = relDistance ? (relDistance + 1) * 3 / 4 : 0;
?
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
Igen, van kezdőértéke.
int relDistance = nLineWidth ? aLineDash.Distance / nLineWidth : 0;
Fenébe is, erre nem is gondoltam, hogy ha volt már egy egyenlőségjel, akkor ezzel így (++,*=,/=) mégegy (illetve még 3) lesz :D
Köszi!
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
Kapcsolódó 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!