die gängigsten Compilerfehler



  • Hallo Leute.

    Vor 500 Jahren habe ich euch ja mal nach Anfänger-Fehlern gefragt -> das Resultat ist da: http://tutorial.schornboeck.net/compiler_fehler.htm

    Was haltet ihr davon? Welche wichtigen Fehler fehlen noch bzw. welche wichtigen Compiler fehlen.

    Lohnt es sich einen VC++6 dazuzunehmen, wenn ich den VC++7 schon habe?

    Und schreibt generell was ihr von dem ganzen haltet. Hilft sowas Anfängern überhaupt?



  • also ich glaube, dass so etwas wichtig ist. Da man gerade hier im Forum oft merkt, dass einige Leute einfach ihren Compiler nicht verstehen.

    👍



  • Denke ich auch, und gerade für Anfänger ist es oft schwer einen Fehler zu finden,
    wenn der Compiler einen Fehler bemängelt welcher nicht einmal der Fehler ist
    sondern nur das Resultat von einem anderen.

    Für den VC++7 braucht man das nicht unbedingt, da die Fehlermeldungen, meines
    erachtens nach ziemlich gut sind und ein einfacher Mausklick bringt einen zu
    der genauen Erklärung in der MSDN mit Tipps und Ursachen.



  • Jep, ist wirklich eine gute Sache was du da hingeschrieben hast 👍
    Ich würde einfach etwas hier im Forum die Anfängerfragen verfolgen, wo es eben Fehler gibt, die der ANfänger nicht sieht und diese dann dort in deine "liste" einbaun 😃

    Wie gesagt sehr gute Sache 👍



  • Jup, stimme zu! 👍

    Mir sagt mein Compiler auch immer wieder für mich unverständliche Sachen. Mittlerweile kapier ich wenigstens schon mehr als früher, aber es kommen immer wieder irgendwelche exotische Meldungen daher. 😃



  • Bookmarked 👍

    Einfach nur klasse 🙂

    mfg
    v R



  • zu 11.cpp:

    Wenn ich will, kann mich auch der gcc warnen. Das sollte man vielleicht irgendwo anmerken.



  • Helium schrieb:

    zu 11.cpp:

    Wenn ich will, kann mich auch der gcc warnen. Das sollte man vielleicht irgendwo anmerken.

    Ich glaube ich werte die Aufrufe der Compiler noch dazu schreiben.
    thx

    @all:
    thx für das Lob



  • zu der nummer 13
    ****************

    erst dereferenzieren: zahl();

    das ist so nicht ganz richtig, du wendest den () Funktionsoperator auf "zahl" an

    bye

    tt



  • es gab n kleines update 😉



  • Also ich hab hier auch einen 3.2er gcc und wenn ich mit deinen optionen beispiel 11 übersetze gibt's ein:

    gcc schrieb:

    [Warning] `int i' might be used



  • Falls du wirklich nichts bekommst, starte bitte mal mit -Wuninitialized .

    Interessant könnte auch -Wunreachable-code und -Wunused sein.



  • Ich habs jetzt mit g++ 3.2.3 (mingw special) und g++ 3.3.2 (mandrake) getestet:

    g++ -W -Wall -pedantic -std=c++98 11.cpp
    liefert mir keine Meldung

    bei -Wuninitialized meldet er:
    not supported without -O
    Wenn ich also
    g++ -W -Wall -pedantic -std=c++98 -Wuninitialized -O 11.cpp
    sage - dann meldet er mir
    11.cpp:6: warning: `int i' might be used uninitialized in this function

    Bei
    g++ -W -Wall -pedantic -std=c++98 -Wunused -Wunreachable-code 11.cpp
    gibt es wiederum keine Meldung



  • Ich habs jetzt mit g++ 3.2.3 (mingw special) und g++ 3.3.2 (mandrake) getestet:

    g++ -W -Wall -pedantic -std=c++98 11.cpp
    liefert mir keine Meldung

    Interessant. ich habs jetzt auch mit dem mingw nochmal getest. Da bekomm ich auch 'ne Warnung. 😕

    bei -Wuninitialized meldet er:
    not supported without -O

    Stimmt, ich habe mit -O2 compiliert. Hätte ich vielleicht sagen sollen.

    Bei
    g++ -W -Wall -pedantic -std=c++98 -Wunused -Wunreachable-code 11.cpp
    gibt es wiederum keine Meldung

    die beiden Waren nur so allgemein gedacht, weil du sagtest, man solle immer mit höchster Warnstufe übersetzen.



  • Meine MingW Version schein auch nicht ganz so aktuell zu ein:
    gcc version 3.2 (mingw special 20020817-1)



  • Klasse, sowas hab ich mir schon immer mal gewünscht.

    Zwei Kleinigkeit hätte ich noch:

    1.)

    char* strFileName = 0;
    string strFileName;

    als Spezialfall von 08.cpp. Nur weil die Abstruse Meldung, die dann vom VC6 kommt mich vor kurzem ganz schön verwirrt hat ( die beiden Bezeichner waren an vollkommen verschiedenen Stellen im Code );

    2.) 01.cpp

    Wenn ich beim VC6 im Header bei der Class Definition mein Semikolon vergesse, überrollt er mich mit der Fehlermeldung(en) erst an der Stelle, wo ich diesen Header inkludiere und versuche das erste Element, Variable oder Funktion danach zu implemetieren. Die Stelle, wo ich das Semikolon vergessen habe ist dann u.U. schwer zu finden.


Anmelden zum Antworten