[gelöst] using namespace std; in if Anweisung



  • Hi, ich bin neu hier und versuche ein wenig hinter die Feinheiten von C++ zu steigen.

    Thema: using namespace std;

    Funktion funktioniert

    void berechne(int n) {
        std::cout << "Teiler von " << n << " sind:\n";
        for(int teiler=1; teiler <= n; ++teiler) {
            using namespace std;
            if(n % teiler == 0)
                cout << teiler << ", ";
        }
        std::cout << std::endl;
    }
    

    Funktion funktioniert nicht

    void berechne(int n) {
        std::cout << "Teiler von " << n << " sind:\n";
        for(int teiler=1; teiler <= n; ++teiler) {
            if(n % teiler == 0)
                using namespace std;
                cout << teiler << ", ";
        }
        std::cout << std::endl;
    }
    

    Fehlermeldung zum nicht funktionierenden Beispiel

    modern101.cpp: In function ‘void berechne(int)’:
    modern101.cpp:56:13: error: ‘cout’ was not declared in this scope
    

    Diese Aufgabe dient dem Verständnis von C++, vor allem interessiert mich warum dieses "using namespace std" innerhalb der for Schleife kein Problem darstellt, während es in der if Anweisung, anscheinend nicht beachtet wird.



  • Ich empfehle dir, nach if immer einen Block zu machen, auch wenn nur eine Anweisung kommt.



  • Danke, Code Blind, jetzt habe ich es auch gesehen. So einfach kann es manchmal sein.
    👍


Anmelden zum Antworten