[ NrmMyth @ 07.09.2005. 18:28 ] @
Neka mi neko objasni ovaj fenomen.
Code:
bool a(true);
bool b(true);

while(1)  a=!(a^b);


Nakon treceg prolaza a postane FALSE, kako???

Kompilirano je sa MVC++ 7.0.
[ Alef @ 07.09.2005. 20:58 ] @
Ako je stvarno tako (ako nisi nešto pogrešio u kodu), onda je to neka greška kompajlera. Sa gcc-om a uvek ostaje true.

[Ovu poruku je menjao Alef dana 07.09.2005. u 22:01 GMT+1]
[ yooyo @ 07.09.2005. 23:49 ] @
MSVC 7.1: a je uvek true.


yooyo
[ NrmMyth @ 08.09.2005. 18:34 ] @
Opsirnije:
Code:
Z& project_NRM_::operator*=(Z& livi, const Z& desni) {
    livi.ispos=!(livi.ispos^desni.ispos);
    
    livi._multiply_(desni);
    return livi;
};

"ispos" je bool clan u Z-u.

U funkciju udje za livi i desni Z::ispos kao true i u problmaticnoj naredbi on postaje false.
Sve sta govorim je provjereno.

I'm going nuts!