Fehler mit mit MinGW aber mit Microsoft VS nicht



  • Guten Tag Liebe CPP Community,
    Ich bin neu im Bereich C++(komme von VB.net) und habe mir dazu das Buch C++ lernen und professionel andwenden gekauft und bin gerade bei Namespaces angekommen.
    Nun gibt es dort diesen Source

    // namesp2.cpp
    // Zeigt die Verwendung der using-Deklaration und
    // der using-Direktive.
    // ----------------------------------------------------
    #include <iostream> // Namensbereich std
    void message() // Globale Funktion ::message()
    {
    std::cout << "In der Funktion ::message()\n";
    }
    namespace A
    {
    using namespace std; // Namen aus std hier sichtbar.
    void message() // Funktion A::message()
    {
    cout << "In der Funktion A::message()\n";
    }
    }
    namespace B
    {
    using std::cout; // cout aus std deklarieren.
    void message(void); // Funktion B::message()
    }
    void B::message(void) // Definition von B::message()
    {
    cout << "In der Funktion B::message()\n";
    }
    int main()
    {
    using namespace std; // Namen aus std
    using B::message; // Funktionsname ohne Klammern!
    cout << "Test mit Namensbereichen!\n";
    cout << "\nAufruf von A::message()" << endl;
    A::message();
    cout << "\nAufruf von B::message()" << endl;
    message(); // Wegen using-Deklaration
    // verdeckt ::message()
    cout << "\nAufruf von ::message()" << endl;
    ::message(); // Globale Funktion
    system("pause");
    return 0;
    }
    

    Wenn ich diesen mit MinGW Kompiliere und die exe starten will,meldet sich der Jit Debugger von Visual Studio und das Programm stürtz ab.Kompiliere ich den Source aber mit dem Microsoft C++ Compiler funktioniert es wie gewollt.An was könnte es liegen das es beim MinGw Compiler nicht klappt?



  • Zeile 40 löschen oder, wenn keine andere Lösung möglich, den passenden Header dafür ergänzen.



  • Lesen sollte ich können 😡
    Zeile 39:

    system("pause");
    

    sollte das heissen.


Anmelden zum Antworten