Eure dümmsten Fehler bei der Programmierung



  • Original erstellt von kingruedi:
    Ansonten sind beliebte Fehler Variablen nicht zu initalisieren, zum Glück warnt der GCC davor, wenn man die anschließend benutzt

    Das sollte jeder halbwegs gute Compiler tun.



  • Mein letzter Fehler bei dem ich blöd dreingeschaut habe war:

    template<...>
    class Ref
    {
    ...
    void readFrom(istream& stream)
    {
      stream>>var;
    }
    };
    
    istream operator>>(istream& stream, const Ref<...>& ref)
    {
      ref.readFrom(stream);
      return stream;
    }
    

    Allerdings waren da eine handvoll Templates im Spiel und ich hab mindestens 5minuten lang blöd geschaut weil er gemeint hat readFrom() gibts nicht...
    🙄



  • Ooch...da gibt es so einiges...

    • Nicht initialiserte Objekte benutzen
    • while(true){....} ohne break;
    • Und so weiter, und so weiter...


  • Mein schönster bis jetzt war, als ich mit jemandem zusammen etwas programmiert habe. Ich habe konsequent mit x/y gearbeitet, er mit zeile, spalte

    Hat auch so weit alles geklappt, war ja so abgesprochen. Nur im Konstruktor hab ich seinem Objekt Breite, Höhe übergeben, es wollte aber Höhe/Breite...

    Da wo die Komponenten einzeln gearbeitet haben war's egal, nur im Zusammenspiel waren Zeilen plötzlich Spalten und umgekehrt...



  • Dieser Fehler hat mich 2 Tage in den Wahnsinn getrieben. Als ich ihn dann endlich gefunden hatte hab ich ernsthaft daran gezweifelt ob ich überhaupt programmieren kann 😃 🙄

    for (int x = 0; x < 12345; x++);
    {
      bla bla bla
    }
    


  • for (i = 0; i = 12; i++) ...

    for (i = 1; i < 11; i++);
    printf("%d",i);

    ...

    cYa
    DjR



  • Original erstellt von Cpp_Junky:
    **Dieser Fehler hat mich 2 Tage in den Wahnsinn getrieben. Als ich ihn dann endlich gefunden hatte hab ich ernsthaft daran gezweifelt ob ich überhaupt programmieren kann 😃 🙄

    for (int x = 0; x < 12345; x++);
    {
      bla bla bla
    }
    

    **

    So was passiert mir auch häufig ... wundere mich dann warum der Code nicht wiederholt wird 🙂



  • for (int x = 0; x < 12345; x++);
    {
      bla bla bla
    }
    

    Genau das ist mein lieblingsfehler. Inzwischen finde ich ihn aber recht schnell.



  • Ich mache nie Fehler! 😃 😃 😃

    Spass beiseite:
    Ich hab mit PostMessage einen lokalen String weggeschickt - und mich dann über die komischen Zeichen gewundert...

    [ Dieser Beitrag wurde am 18.11.2002 um 11:27 Uhr von Nemesyzz editiert. ]



  • Die Fehler

    for (int x = 0; x < 12345; x++);
    

    und

    if (i=0)
    

    kenn ich auch. Um die zu vermeiden hab ich mir bei ersterem angewöhnt die { nach oben zu ziehen. Also

    for (int i = 0;i < 12345; i++){
    

    Ist zwar eine Umstellung, hat aber bei mir gut funktioniert.
    Der zweite Fehler wird (meist) durch den Compiler gefunden. Falls aber der Warning-Level reduziert werden muss, schreib ich immer

    if (0==i)
    

    statt

    if (i == 0)
    

    dann gibts einen echten Fehler wenn = statt == geschrieben wird, den jeder Compiler immer moniert.

    Meine schlimmsten Fehler stammen aus meine C-Zeiten:
    Über Feldgrenzen rausschreiben. Meist verhält sich die Release-Version schon mal anders als die Debug-Version und für Fehlersuche kann leicht mal einen Tag in Anspruch nehmen.

    [ Dieser Beitrag wurde am 18.11.2002 um 11:36 Uhr von Kauz01 editiert. ]



  • Bei Header-Dateien

    #ifndef _BLA_H
    #define _BLA_H
    .
    .
    .
    #endif
    

    vergessen. Das gibt einen schön ekelhaften Fehler wenn man die .h Datei ohne sowas sowohl im Submodul als auch im Hauptmodul included. Meine Tastatur hat
    sehr darunter gelitten ("verdammte Scheisse, warum denn? (bumm,bumm ... knirsch). 😃



  • vergisst _nieeeeeeee_ das H

    ich hab mal anstat int 21h nur int 21 gehabt, das war meine 100% assembler 3d-engine und dieses int21 hab ich nur für die debug ausgabe gehabt, ich hab jeden polygonfüll algorithmuss 1000mal durchgesehen, alle rekursionen perfekt mit output versehen und bei zu großer tiefe abgebrochen, alles durchgesehen, außer beim int 21 für die fps das H... hab ne ganze woche dran gehangen, ich war soweit, dss mein pc innerhalb von 14sekunden beim booten in die dev umgebung meines masm rein kamm (weil es immer einen absturz gab).. ich hab bestimmt die hälfte meiner haare daran verloren...

    rapso->greets();



  • for (int x = 0; x < 12345; x++);
    {
      bla bla bla
    }
    

    Das kommt davon wenn man die Klammern in die nächste Zeile schreibt. 🙄
    Macht's doch lieber so

    for (int x = 0; x < 12345; x++) {
        bla bla bla
    }
    


  • Mein Bruder hat mal nen geilen Fehler gemacht:

    #ifdef _BLA_H
    #define _BLA_H
    .
    .
    .
    #endif
    

    und sich dann gewundert, wiesos die klasse net gab 😃



  • _BLA_H

    ist eh ein Fehler, da führende _ dem Compiler vorbehalten sind :p 🙄 🙂

    beliebt sind auch falsche benutzung von memcpy, strcpy und ähnliches und vorallem der schlimmste Fehler ist eine Anwendung, die zum Teil aus Code besteht, der bei der letzten Konzept Änderung nicht überarbeitet wurde, trotzdem bisher funktioniert nur dann auf einmal bockt der rum und man sucht tagelang woanders 🙂



  • @kingruedi: Stimmt nicht! Nicht bei jedem!! :p



  • der Standard schreibt es aber vor AFAIK :p



  • Wenn man 2 ähnliche Code-Teile (hauptsächlich bei mathematischen Sachen) kopiert und dann nur ein paar Variablennamen vergisst zu ändern.



  • <dümmster fehler>

    Borland C++ Builder installiert 🙄

    </dümmster fehler>

    so far ... RockNix



  • hab erst gestern 2 stunden nach nem bug in meiner klasse für das bestimmen mathematischer funktionen gesucht. er hat mir für 1/x (und alle geteilt - operationen) penetrang n falsches ergebnis ausgespuckt. der fehler war so dümmlich dass ich ihn erst ganz am schluss (nach dem ich sämtliche speicherverwaltung, parsen etc geckeckt hatt) gefunden hab: bei der berechnung hat sich ein += statt einem /= eingeschlichen. *grummel*


Anmelden zum Antworten