Problemchen mit vector



  • Hallo!

    Habe eine Funktion die aus einem Array ein vector macht und diesen vector zurückgibt:

    -habe <vector> inkludiert

    Ausschnitt:

    vector<double> getInput(){
      .
      .
      .
      input = new double[param.noframes]; 
      //Array wird gefüllt
      .
      .
      //Array in vector umwandeln
      vector<double> Vec(input,input + param.noframes);
    
      return Vec;
    

    In meiner Klasse habe ich

    vector<double> getInput();

    deklariert:

    Es taucht folgende Fehlermedlug auf:

    - ISO C++ forbids declaration of `vector' with no type
    - expected `;' before '<' token 
    - no `std::vector<double, std::allocator<double> > AudioSet::getInput()'   member function declared in class `AudioSet'
    

    Woran kann das liegen?
    Danke! 🙂



  • Fehlt da möglicherweise ein Semikolen am Ende einer Klassendefinition?

    Nettes Speicherleck, übrigens 😉



  • MFK schrieb:

    Fehlt da möglicherweise ein Semikolen am Ende einer Klassendefinition?

    Nettes Speicherleck, übrigens 😉

    Leider ist es das nicht 😞 .

    Das Komische ist, dass wenn ich statt

    return Vec;
    

    , mein Array mit

    return input;
    

    ausgeben will und dafür dann die methode mit

    double* getInput();
    

    und in meiner Klasse

    double* getInput();
    

    ändere, alles fuktioniert und er fehlerfrei kompiliert.



  • Hast du eine using-Direktive für std::vector oder std?

    Falls ja: Zeig doch mal ein wenig von dem Umfeld der Funktion. Oder noch besser: Ein Minimalbeispiel, das den Fehler reproduziert.



  • MFK schrieb:

    Hast du eine using-Direktive für std::vector oder std?

    Falls ja: Zeig doch mal ein wenig von dem Umfeld der Funktion. Oder noch besser: Ein Minimalbeispiel, das den Fehler reproduziert.

    Hallo!

    Erstmal vielen dank für die blitzschnelle Antworten ;).
    Die using-Direktive hatte ich überall stehn. Hab einfach ein paar Sachen ausprobiert wie ein fehlendes "delete" ergänzen, aber es lag anscheinend an einem Problem bzgl. Stack vs. Heap. Hab jedenfalls mein Array auf Stack angelegt und den Vector auf Heap und jetzt geht es. 😃


Log in to reply