Für dieses Forum muß Javascript im Browser aktiviert werden!
Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > > > > > Hallo, > > > > > > > > > > wenn Du die Zeile so änderst: > > > > > > > > > > ports.set(0,x); > > > > > > > > > > > > > Hallo Udo > > > > > > > > was ist daran anders? > > > > > > > > Gruß > > > > Hans > > > > > > x ist eine Variable keine Zahl. > > > in Deinem Fall kommt natürlich vorher: x=1; > > > > > > Gruß > > > > Hallo Udo > > Habe mich wahrscheinlich falsch ausgedrückt. Um den Fehler nachzuvollziehen muß man die paar > > Zeilen durch den Compiler lauffen lassen. Die Kompination von WHILE und der Zeile > > ports.set(x,y); break; bringt den Fehler, Der Wert von ports.set(a,b) ist unerheblich! Die Logik des > > Programms ist meines erachtens richtig. Nur der Compiler glaubt es nicht! > > > > Gruß > > Hans > > > > > Hallo nochmal, > > wenn ich Deinen Code verwende, bekomme ich denselben Fehler. > Ersetze ich in der Anweisung ports.set(0,1) die Zahl 1 durch eine Variable, tritt der Fehler nicht > mehr auf. Es kommt hier darauf an, dass der Wert, der an die Funktion ports übergeben wird, keine > Zahl, sondern eine Variable ist. Im Ergebnis ist das sicherlich dasselbe, aber der Syntax ist halt anders > und genau daran stört sich der Compiler. Dein Quelltext sollte also so aussehen: > > <code> > // --------------------- > thread irgendwas > { > int p, i, x; > if p <6 > { > if i == 5 > { > while i <99 > { > if i == 1 > { > x=1; > ports.set(0,x); // ZEILE XXX diese zeile bringt keinen Fehler mehr! > break; > } > } //end while > } // end i ==5 > } // end 500 > } // end thread > > thread main > { // do something > halt; > } > </code> > > Der Compiler ist halt manchmal etwas eigensinnig. > > Gruß > >