Thema: [C++] Zeiger

Einzelnen Beitrag anzeigen

Mark90
(Gast)

n/a Beiträge
 
#4

Re: [C++] Zeiger

  Alt 27. Aug 2007, 12:03
Zitat von OregonGhost:
Mit
Code:
*doshdr->e_lfanew
greifst du auf das Element e_lfanew in doshdr zu, und dann dereferenzierst du dieses Element. Du derefenzierst mit dem Sternchen e_lfanew, nicht doshdr, und e_lfanew ist vermutlich kein Zeiger, sondern ein long (rate ich jetzt mal, ohne die Struktur zu kennen). Der Pfeil in C++ bewirkt bereits eine Derefenzierung. Um auf ein Element einer Struktur zuzugreifen, die du als Objekt und nicht als Zeiger hast, benutzt man in C++ den Punkt. Korrekt wäre also entweder
Code:
doshdr->e_lfanew
, oder umständlicher
Code:
(*doshdr).e_lfanew
.

Edit:
Das, was Muetze01 schreibt, hat zwar nichts mit deinem Problem zu tun, ist aber ebenfalls etwas, was dir Kopfschmerzen ersparen könnte, weil du so ein Memory-Leak hast
hi oregonghost,

das was du vorgeschlagen hast habe ich auch schon probiert. leider produziert er da eine Access violatio, die genau hier auftritt: ( e_lfanew = (*doshdr).e_lfanew; ).
  Mit Zitat antworten Zitat