fehler bei rückgabe eines arrays???



  • long zahlenfolge(vector<char> vc) {
      int x = 0;
      vector<float> zfolge;
    
      zfolge.push_back( gziffer(vc, x) );
    
      for(; x <= vc.size(); x++) {
        if(vc[x] == '+')
          zfolge.push_back( gziffer(vc, x) );
        if(vc[x] == '-') 
          zfolge.push_back( gziffer(vc, x) );
        if(!isdigit(x))
          zfolge.push_back( vc[x] );
        //...
      }
    
      return zfolge;
    }
    

    warum kann ich einen vector nicht zurückgeben, ich bekomm den fehler:

    /home/ceberus/C++/tr_sim/src/tr_sim.cpp:85: error: cannot convert std::vector<long int, std::allocator<long int> >' tolong int' in return
    /home/ceberus/C++/tr_sim/src/tr_sim.cpp:151: warning: passing `float' for converting 1 of `void std::vector<_Tp, _Alloc>::push_back(const _Tp&) [with _Tp = char, _Alloc = std::allocator<char>]'
    /home/ceberus/C++/tr_sim/src/tr_sim.cpp:165: warning: converting to `long int' from `float'

    wie man sieht nehm ich gcc, wie kann ich ich den vector mit return zurückgeben??? ich wollte so gerne eine funktion schreiben und das nicht in main reinklatschen.

    p.s.: weiß zufällig jemand wie ich alle zeichen AU?ER + und - (also * / usw. ohne überprüfung in den array zfolge schmeißt, das würde mir etwas arbeit abnehmen ist aber nicht sooo wichtig.

    thx im voraus



  • Aus

    long zahlenfolge(vector<char> vc) 
    
    mach 
    
    vector<float> zahlenfolge(vector<char> vc)
    

    p.s.: weiß zufällig jemand wie ich alle zeichen AU?ER + und - (also * / usw. ohne überprüfung in den array zfolge schmeißt, das würde mir etwas arbeit abnehmen ist aber nicht sooo wichtig

    Häh 😕
    Du willst ein vector<float> mit chars fülle ?



  • das war aber dumm von mir...→


Anmelden zum Antworten