Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
GreveN JLI Master
Alter: 38 Anmeldedatum: 08.01.2004 Beiträge: 901 Wohnort: Sachsen - Dresden Medaillen: Keine
|
Verfasst am: 17.07.2004, 21:34 Titel: Zeigerproblem mit STL map |
|
|
Hi @all,
ich hab mir nen Zeiger auf ne normale STL map angelegt:
Code: | std::map<std::string, LPDIRECT3DTEXTURE9>* m_pTextureMap; |
Weis diesem Zeiger dann die Addresse einer map zu:
(mit m_SpriteMap ist 100 pro alles in Ordnung)
Code: | m_pTextureMap = &(m_pTN->m_SpriteMap);
|
Und möchte mit Hilfe des *-Operators auf die Elemente der Map zugreifen:
Code: | lpSprite->Draw(
*(m_pTextureMap[m_ID]),
NULL,
NULL,
NULL,
NULL,
&D3DXVECTOR2(m_xPos, m_yPos),
m_pTN->m_VidSet.ColMod
);
|
Nun spuckt der Compiler folgenden Fehler aus:
Code: | error C2677: Binaerer Operator '[' : Kein globaler Operator definiert, der den Typ 'class std::basic_string<char,struct std::char_traits<char>,class std::allocato
r<char> >' akzeptiert (oder keine geeignete Konvertierung moeglich) |
Kann mir jemand helfen?? |
|
Nach oben |
|
|
Samus_Aran JLI'ler
Alter: 37 Anmeldedatum: 12.05.2004 Beiträge: 183 Wohnort: Plauen->des liegt in Sachsen in der nähe von Chemnitz und Zwickau Medaillen: Keine
|
Verfasst am: 17.07.2004, 21:53 Titel: |
|
|
ist dein m_ID n string oder ne art text??? wenn nich dann kanns nich funzen da du ja die map wie folgt definiert hast: Code: | std::map<std::string, LPDIRECT3DTEXTURE9>* m_pTextureMap; |
mmh ansonsten kapier ich den Fehler noch nich |
|
Nach oben |
|
|
GreveN JLI Master
Alter: 38 Anmeldedatum: 08.01.2004 Beiträge: 901 Wohnort: Sachsen - Dresden Medaillen: Keine
|
Verfasst am: 17.07.2004, 21:54 Titel: |
|
|
m_ID issen STL string... |
|
Nach oben |
|
|
Christian Rousselle Site Admin
Alter: 48 Anmeldedatum: 19.07.2002 Beiträge: 1630
Medaillen: Keine
|
Verfasst am: 17.07.2004, 22:14 Titel: |
|
|
(*m_pTextureMap)[m_ID] |
|
Nach oben |
|
|
GreveN JLI Master
Alter: 38 Anmeldedatum: 08.01.2004 Beiträge: 901 Wohnort: Sachsen - Dresden Medaillen: Keine
|
Verfasst am: 17.07.2004, 22:19 Titel: |
|
|
*denkopfgegendiewandschlag*
Das gibts doch nich!!! Sowas dussliges!!!
Naja thx... |
|
Nach oben |
|
|
Samus_Aran JLI'ler
Alter: 37 Anmeldedatum: 12.05.2004 Beiträge: 183 Wohnort: Plauen->des liegt in Sachsen in der nähe von Chemnitz und Zwickau Medaillen: Keine
|
Verfasst am: 17.07.2004, 22:20 Titel: |
|
|
lol hät ich auf drauf kommen können wenn ich noch hell wach wäre *imhalbschlafweiterbrabbel* |
|
Nach oben |
|
|
GreveN JLI Master
Alter: 38 Anmeldedatum: 08.01.2004 Beiträge: 901 Wohnort: Sachsen - Dresden Medaillen: Keine
|
Verfasst am: 19.07.2004, 08:03 Titel: |
|
|
So, nächstes Prob ^^
Und zwar macht die "D3DXCreateTextureFromFileEx()" Funktion jetzt in diesem Zusammenhang Ärger.
Code: | D3DXCreateTextureFromFileEx(m_pTN->m_DX9V.lpDevice,
Path.c_str(),
64,
64,
1,
0,
D3DFMT_UNKNOWN,
D3DPOOL_MANAGED,
D3DX_FILTER_NONE,
D3DX_FILTER_NONE,
ColKey,
0,
0,
&(*m_pTextureMap)[ID]); //<--- diese Stelle macht wahrscheinlich Ärger
|
Ich muss der Funktion ja die Addresse einer LPDIRECT3DTEXTURE9 übergeben, aber scheinbar funzt das in dem Ausdruck nich so wie s soll. Also wie gesagt, m_pTextureMap ist ein Zeiger auf eine Map dieser Art:
Code: | std::map<std::string, LPDIRECT3DTEXTURE9> |
Ich hoffe ihr versteht mein Prob, wenn nich, bitte sagen... |
|
Nach oben |
|
|
Christian Rousselle Site Admin
Alter: 48 Anmeldedatum: 19.07.2002 Beiträge: 1630
Medaillen: Keine
|
Verfasst am: 19.07.2004, 08:25 Titel: |
|
|
Hmm,
du meinst doch bestimmt &((*m_pTextureMap)[ID]), oder?
C. |
|
Nach oben |
|
|
GreveN JLI Master
Alter: 38 Anmeldedatum: 08.01.2004 Beiträge: 901 Wohnort: Sachsen - Dresden Medaillen: Keine
|
Verfasst am: 19.07.2004, 08:56 Titel: |
|
|
So hatte ich das auch schonmal, habs auf die Reihe gekriegt, lag nich daran...
trotzdem thx |
|
Nach oben |
|
|
|