1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Xcode Debugger

Dieses Thema im Forum "OS X-Developer" wurde erstellt von insanity, 27.06.08.

  1. insanity

    insanity Klarapfel

    Dabei seit:
    06.07.06
    Beiträge:
    277
    Hi,
    habe vor 1-2 Tagen damit angefangen mich mit C++ zu beschäftigen und arbeite dazu auch nen Tutorial durch. Als Editor benutze ich Xcode und das funktioniert auch ganz gut. Nun habe ich aber folgenden Code:
    Code:
    int main()
        {
          float f=3.14f;
          int falsch=f; // produziert warnung
          int pi=static_cast<int>(f); //besser
        }
    Geht halt um's Casten von Variablen, im Tutorial steht nun das mir die erste Variante (int falsch...) einen Fehler produzieren müsste. Xcode kann aber keinen Fehler finden und liefert auch das gleiche Ergebniss wie die zweite Variante (int pi...). Ist das ein Fehler im Tutorial oder liegt's an meinen Einstellungen in Xcode? Ich konnte da aber nix finden. Ist jetzt auch nicht sooo wichtig, ich nutze halt Variante 2 aber ich würde ja schon wollen das mir der Debugger alle Fehler anzeigt.
    Gruß Daniel
     
  2. MacApple

    MacApple Lord Grosvenor

    Dabei seit:
    05.01.04
    Beiträge:
    3.470
    Wieso findet Xcode nichts? Du bekommst doch eine Warnung vom Compiler.

    Das ist auch nicht verwunderlich. Der Unterschied zwischen den beiden Varianten ist ja nur, dass bei der zweiten Variante der Compiler durch den Cast weiß, dass diese Zuweisung so gewollt ist, d.h. dem Programmierer ist bewusst, dass Information verloren geht.

    Das Problem wird Dir bereits vom Compiler gemeldet. Warnungen werden nicht ohne Grund vom Compiler ausgegeben. Man sollte sie immer erst einmal als einen Fehler betrachten. Du kannst Xcode auch sagen, dass Warnungen wie Fehler behandelt werden sollen, d.h. der Compiliervorgang abgebrochen wird.

    MacApple
     
  3. insanity

    insanity Klarapfel

    Dabei seit:
    06.07.06
    Beiträge:
    277
    Danke für die schnelle Antwort, warum statis_cast zu bevorzugen ist hab ich verstanden. :)

    Nein leider eben nicht. Der Kommentar im Code ist aus dem Tutorial. Deshalb schreib ich ja, im Tutorial steht der Debugger müsste einen Fehler/Warnung melden, tut er aber nicht. Er findet den Code gut so wie er ist und gibt auch bei beiden das passende Ergebniss aus (3).

    Gruß Daniel
     
  4. MacApple

    MacApple Lord Grosvenor

    Dabei seit:
    05.01.04
    Beiträge:
    3.470
    Ach so. Per Default werden nicht alle Warnungen ausgegeben. Da kann man durch Setzen der Option -Wall Abhilfe schaffen.

    MacApple
     
  5. insanity

    insanity Klarapfel

    Dabei seit:
    06.07.06
    Beiträge:
    277
    K danke schonmal, er bricht jetzt zwar das Compilieren ab, aber er sagt mir leider immernoch nicht warum, hmm, ich muss jetzt erstmal zur Spätschicht, danke jedenfalls schonmal für die schnellen Antworten. :)
     

Diese Seite empfehlen