Hallo zusammen,
ich bin ein wenig ratlos und bräuchte einen Tipp was Vectoren in C++ anbelangt.
Ich habe mehrere ALLEGRO_BITMAP* Objekte, welches jeweils ein TGA Image hat. Diese schreibe ich so in einen Vector:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
|
//die Bitmap
ALLEGRO_BITMAP *btm = NULL;
//vector
std::vector<ALLEGRO_BITMAP*> bitmapVec;
//bitmap laden
btm = al_load_bitmap(fileName);
//bitmap in den vector
bitmapVec.push_back(btm);
|
Das funktioniert auch gut aber wenn ich jetzt ganz normal über den Vector iterieren möchte
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
|
std::vector<ALLEGRO_BITMAP*> vec = getBitmapVec();
std::vector<ALLEGRO_BITMAP*>::iterator it;
for (it = vec.begin(); it != vec.end() ; it++) {
ALLEGRO_BITMAP* btm = it;
al_destroy_bitmap(btm);
}
|
bekomme ich nur diese Fehlermeldung:
Fehler: »__gnu_cxx::__normal_iterator<ALLEGRO_BITMAP**, std::vector<ALLEGRO_BITMAP*, std::allocator<ALLEGRO_BITMAP*> > >« kann nicht nach »ALLEGRO_BITMAP*« in initialization umgewandelt werden
Ich verstehe nicht warum das Bitmap im Vector vom Typ ALLEGRO_BITMAP** ist und nicht wie eigentlich erwartet ALLEGRO_BITMAP* Es gibt dafür bestimmt eine einfache Lösung aber ich komme einfach nicht drauf :-\ Bin für jeden Tipp dankbar..
grüße
Saik0