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