vector container -> erase()



  • hallo!

    ich habe einen vector container:

    # include <vector>        // inkludiert die Containerklasse "vektor"
    using namespace std;
    
    class Procedure         // stark verkürzt wiedergegebene klasse
    {
    private:
    vector<AnsiString> Data;
    
    public:
    void DelData(int index1, int index2);
    void DelData (void);
    };
    
    void Procedure:: DelData (int Index1, int Index2)
      {
      Data.erase(Data[1], Data[2]);
      }
    
    void Procedure:: DelData (void)
      {
      Data.erase(Data.begin(), Data.end());
      }
    

    rufe ich DelData() auf, wird
    der container auch schön brav geleert.

    rufe ich allerdings ein DelData(1, 2)
    auf , um den ersten und zweiten Eintrag zu löschen bekomme ich folgenden fehler um die ohren gehauen:
    " [C++ Fehler] Procedur.cpp(32): E2285 Keine Übereinstimmung für 'vector<AnsiString,allocator<AnsiString> >::erase(AnsiString,AnsiString)' gefunden"

    kann mir jemand helfen?
    danke im voraus!!!!!!!!!

    <edit>Bitte Code-Tags benutzen!</edit>

    [ Dieser Beitrag wurde am 07.04.2003 um 16:11 Uhr von junix editiert. ]



  • Original erstellt von ClippingError:
    [QB][code type="C++"]void Procedure:: DelData (int Index1, int Index2)
    {
    Data.erase(Data[1], Data[2]);
    }
    [QB]

    Das hier kann ja wohl kaum sein oder? Schau dir mal die Parameter von erase genauer an?

    -junix



  • ok, habs rausgefunden.
    so geht es:

    void Procedur::DelData (int Index1, int Index2)
    {
    Data.erase(Data.begin() + Index1, Data.begin()+ Index2);
    }

    P.S.:
    leider weiß ich jetzt nicht wie der CODE Tag aussieht.. 😞



  • Original erstellt von ClippingError:
    P.S.:
    leider weiß ich jetzt nicht wie der CODE Tag aussieht.. 😞

    Hmmm... wenn du im Builder-Forum bei der Thread übersicht mal die obersten paar Zeilen über der Auflistung liest... was fällt dir auf? (o;

    -junix

    [ Dieser Beitrag wurde am 07.04.2003 um 16:20 Uhr von junix editiert. ]



  • ok, thx


Anmelden zum Antworten