mapfrage
-
Hi,
ich hab ne map:
std::map<std::wstring, ::IDirect3DTexture9*> textures_; std::map<std::wstring, ::IDirect3DTexture9*>::iterator textures_it_;
und möchte halt alle IDirect3DTexture9 objekte freigeben:
for (textures_it_ = textures_.begin(); textures_it_ != textures_.end(); ++textures_it_) textures_it_->Release();
doch bekomme diesen Fehler:
error C2039: 'Release' : is not a member of 'std::pair<_Ty1,_Ty2>' with [ _Ty1=const std::wstring, _Ty2=IDirect3DTexture9 * ]
Wie kann ich die ->Release Funktion aufrufen?
-
auf second zugreifen?
-
In ner Map werden immer Paare gespeichert. Der Iterator zeigt folglich auf ein Paar in der Map. Um dran zu kommen, schreibt man
iter->first
um das Index-Element im Paar zu addressieren,
unditer->second
um das indizierte Element im Paar zu addressieren.
Also in Deinem Fall:
textures_it_->second->Release();
Easy As Pie!