kleiner Fehler



  • Master Eddy schrieb:

    das iostream.h mach ich immer dazu genauso wie conio.h

    iostream.h ist kein ansi standard so weit ich weiß, und conio funktioniert nur unter Windoof und muss zusätzlich auch noch installiert werden.

    warum ändern?

    dann kann man dir besser helfen, wenn du ein Problem hast, weil es allgemein bekannter ist. Conio.h würd auf meinem rechner (Linux) garnicht laufen, somit würden sich eine Hilfequellen gleich lahm legen.

    Aber alles zu seiner Zeit



  • ich hab kein Windoof. Ich hab WinXP.Vieleicht liegt es an meinem Kompilierer???
    Dev-C++ v5



  • #include <conio.h>
    

    ... du weißt wofür welcher Header dabei ist? conio.h ist nur für dein getchar dabei ... dabei kannst du das mit std. C++-Funktionen machen!

    #include <iostream.h>
    

    sollte seid C98 kein Standard mehr sein. Es muss iostream heißen. Die Funktionen liegen nun alle im std-Namensraum.

    #include <iostream>
    
    int main()
    {
        unsigned int num = 0;
        do {
            std::cout << "Zahl (>5): " << std::flush;
        } while (!(std::cin >> num) || num <=5);
    
        for (unsigned int i = 0; i < num; ++i)
            std::cout << i << std::endl;
    
        std::cin.clear();
        std::cin.get();  
    }
    

    ...

    ich hab kein Windoof.

    Zur Information: Oftmals von Newbies benutzter Ausdruck für Microsoft Windows (r)

    Vielleicht liegt es an meinem Kompilierer**?**

    Du solltest evt. MS VC++ 2005 Express Edition installieren. Aktuell und Standard-konform. Oder aber G++. (Linux)



  • Hi Master Eddy,
    muss die Variable a nicht auch mit 0 initialisiert werden, int a = 0? Oder generiert dein Compiler den Code zur 0-Initiallisierung automatisch wie bei Visual Basic?

    vg tesu



  • Nein das tut der Compiler mit Sicherheit nicht. Noch ein Fehler 😉



  • Warum Fehler?? Es sollte ja erst bei 2 anfangen und vor der eingegebenen Zahl enden! Hmm das mit iostream.h wusste ich net.



  • Weil "a" vom Compiler nur "Irgendeinen" Wert zugeteilt bekommt. Auf jedenfall aber einen Wert der dir reichlich wenig ins Konzept passen wird.



  • int a=0; //Ansonsten steht hier irgendein Müll drinnen
    


  • Ah, wo wir hier grad beim initialsieren sind, mir fällt grad auf, dass ich mir über folgendes noch nie Gedanken gemacht habe:

    class foo{
        int a;
    public:
        foo(){}
    };
    

    Übernimmt der Compiler in diesem Fall automatisch eine Initialisierung von a oder steht da in diesem Fall auch irgend ein nonsens drin? Ich vermute letzteres, aber wo wir schon grad dabei sind kann man ja mal nachfragen.



  • Steht nonsens drin ...


Anmelden zum Antworten