istringstream converter() problem!



  • mahlzeit!

    ich habe eine const char* test[5];
    in dieser befinden sich 5 ziffernfolgen, jede kann zwischen 1 und 16 sein. diese ziffern möchte ich jetzt mit switch bearbeiten. dafür muss ich sie aber zuerst in einen integer umwandeln. dazu benutze ich istringstream converter(test);
    converter>>test2;
    da es sich aber um fünf zifferfolgen handelt muss ich doch eigentlich istringstream converter(test[1]); converter>>test1; .... verwenden, oder?
    das problem ist wenn ich das so eingebe, sagt der compiler, dass das nicht geht:
    variable std::istringstream converter' has initializer but incomplete type und: invalid operands of types \const char*' and `int' to binary `operator>>'

    könnt ihr mir da weiterhelfen?

    mfg



  • multiplizierzeit!

    Zeig mal den ganzen Code.



  • const char* usercards[5];
        int intusercards1, intusercards2, intusercards3, intusercards4, intusercards5;
        istringstream converter(usercards[1]);
        converter>>intusercards1;
        istringstream converter(usercards[2]);
        converter>>intusercards2;
        istringstream converter(usercards[3]);
        converter>>intusercards3;
        istringstream converter(usercards[4]);
        converter>>intusercards4;
        istringstream converter(usercards[5]);
        converter>>intusercards5;
    


  • ok ich hab die lösung :(...eigentlich dumm von mir :D...

    istringstream card1(usercards[1]);
        card1>>intusercards1;
        istringstream card2(usercards[2]);
        card2>>intusercards2;
        istringstream card3(usercards[3]);
        card3>>intusercards3;
        istringstream card4(usercards[4]);
        card4>>intusercards4;
        istringstream card5(usercards[5]);
        card5>>intusercards5;
    

    darf denen natürlich nicht den gleichen namen geben 😃

    mfg



  • Du kannst den einen Stream auch wiederverwenden. Mit str("") leerst du ihn, mit clear() setzt du allfällige Fehlerflags zurück.


Anmelden zum Antworten