October 10, 2001
Jag har ett problem, jag har numrerat raderna nedan bara för att kunna referera till dem efteråt.
(1)switch(blabla)
(2){
(3) case 1:
(4) {
(5) Funktion();
(6)
(7) Funktion();
(8)
(9) Funktion();
(10)
(11) break;
(12) }
(13)}
Det som händer för mig när jag kör mitt program är att först utförs rad 7 och sedan 5 respektive 9. Jag förstår inte varför. Detta innebär problem eftersom det är viktigt att rad 5 utförs före 7 och 9, annars gör den fel och programmet blir inte riktigt som det skall vara. Jag är tacksam för all hjälp jag kan få.
[ Detta Inlägg ändrades av: Quaero den 2001-10-18 17:37 ]
August 2, 2001
Har faktiskt aldrig hört något liknande, däremot så kan somliga kompilatorer optimera villkor inuti if satser ex vis if(a==null && b.test() == 0) så är det inte säkert a==null kollas först.
Vad kör du med för kompilator? Kör du med någon konstig optimerings växel? Det låter närmast som en bug i kompilatorn om du inte råkat göra något fult någonstans i kodblocket. För det finns ingen anledning för kompilatron att försöka optimera genom att ändra programflödet på ett otillåtet sätt.
October 10, 2001
Jag använder MsDevStudio men jag har även testat koden i Borland C++ 5.02 och fått samma resultat där, jag tycker inte att jag har skricit någon konstig kod men det är ju möjligt, fast å andra sidan, vad skulle man skriva för att kompilatorn ska hoppa över kodrader för att sedan köra dem senare, det är ju ologiskt.
Hjälp mig!!! Snälla!!!!
[ Detta Inlägg ändrades av: Quaero den 2001-10-18 18:04 ]
2 Guest(s)