Ist das der orginale Code aus dem Buch? Die Bildung von difference aus den Odometriedaten scheint mir ja noch plausibel, aber das hier ist doch fragwürdig:

Code:
      if  (difference<-speed)difference=-speed;
      if   (difference>speed)difference=speed;
      if   (difference>0) MotorSpeed(speed,speed++);
      else MotorSpeed(speed,speed--);
Wenn der Odozählerunterschied kleiner -speed dann Unterschied gleich -speed
Wenn der Odozählerunterschied größer speed dann Unterschied gleich speed

Das "undefiniert" bezieht sich übrigens auf das ++ (bzw. --) hier:
MotorSpeed(speed,speed++);
Warum das der Kompiler anmotzt ist mir auch unklar.

Gruß

mic