bool Array Füllen: Compiler warnung



  • Hi, ich bekomme eine Warnung wenn ich in einem Programm ein bool Array füllen will:

    bool b[4];
            void set_value(char c)
    	 {
              if (c=='0') b={false,false,false,false};
    	 }
    

    In member function 'virtual void HexDigitBool::set_value(char)':
    main.cpp:79: warning: extended initializer lists only available with -std=c++0x or -std=gnu++0x

    Weiß was jemand was damit anzufangen oder wo der Fehler liegt?



  • Die Warnung sagt es doch schon.
    Was du da versuchst geht nur in C++11 und du musst dem Compiler mit -std=c++11 sagen, dass du den aktuellen Standard verwenden willst.



  • wenn ich das ganze mit g++ -std=c++11 main.cpp kompiliere, kommt allerdings:

    cc1plus: error: unrecognized command line option "-std=c++11"
    

    gibt es denn einen anderen weg diese Operation auszuführen das sollte doch eigentlich eine ganz normale Standard operation sein, wieso wird die nicht vom Compiler unterstützt??



  • Wenn du eine veraltete Compilerversion hast, musst du -std=c++0x übergeben.

    NicolasKuchen schrieb:

    gibt es denn einen anderen weg diese Operation auszuführen das sollte doch eigentlich eine ganz normale Standard operation sein, wieso wird die nicht vom Compiler unterstützt??

    Ja, seit 2011 ist das eine "ganz normale Standardoperation", aber Compiler verwenden immer noch den alten Standard, wenn du ihnen nichts anderes sagst.



  • was wie wo übergeben, meisnt du jetzt dem compiler?



  • NicolasKuchen schrieb:

    was wie wo übergeben, meisnt du jetzt dem compiler?

    Ja sicher. Wenn -std=c++11 dem Compiler zu übergeben war, dann wird es -std=c++0x wohl auch sein.



  • NicolasKuchen schrieb:

    wenn ich das ganze mit g++ -std=c++11 main.cpp kompiliere, kommt allerdings:

    cc1plus: error: unrecognized command line option "-std=c++11"
    

    habe doch schon geschrieben dass das nicht funktioniert



  • NicolasKuchen schrieb:

    NicolasKuchen schrieb:

    wenn ich das ganze mit g++ -std=c++11 main.cpp kompiliere, kommt allerdings:

    cc1plus: error: unrecognized command line option "-std=c++11"
    

    habe doch schon geschrieben dass das nicht funktioniert

    er hat -std=c++0x vorgeschlagen und du hast vorhin -std=c++11 probiert. finde den unterschied.



  • LOL es wird spät. 😮 Jetzt funktioniert es. Vielen Dank für deine Hilfe 👍



  • ...


Anmelden zum Antworten