Hopsel: (C++) Unerlaubter Speicherzugriff - Problem gelöst

Beitrag lesen

Hi mbr!

Ohjemine. Ich müsste eigentlich 50 Strafrunden nackt um den Block rennen.

Sehen wir uns mal die for-Schleife an:

for(int iAdapter = 0; iAdapter < g_iNumAdapters; iAdapter++) {
  if(FAILED(g_pD3D->GetAdapterIdentifier(0, 0, > &g_pAdapters[g_iNumAdapters]))) {
   // Keine Grafikkarte
   MessageBox(NULL, "Keine Grafikkarte gefunden.", "Achtung!", MB_OK | MB_ICONEXCLAMATION);
   // Direct3D freigeben
   g_pD3D->Release();
   delete[] g_pAdapters;
  }

sprintf_s(acAdapterInfo,"Grafikkarte: %s",g_pAdapters[g_iNumAdapters].Description);

MessageBox(NULL, acAdapterInfo, acTitle, MB_OK | MB_ICONINFORMATION);
}

Es geht um diese beiden Zeilen:
for(int iAdapter = 0; iAdapter < g_iNumAdapters; iAdapter++) {
und
if(FAILED(g_pD3D->GetAdapterIdentifier(0, 0, &g_pAdapters[g_iNumAdapters]))) {

Was fällt auf? Ich initialisiere die Schleifenvariable int iAdapters mit 0, greife aber gar nicht darauf zu, sondern spreche den /die Adapter über &g_pAdapters[g_iNumAdapters]. Ein einfacher Fehler, der komischer Weise nicht auffiel, weil die Ausgabe des Programms trotzdem richtig aussah.

Danke für eure Hilfe.

MfG H☼psel

--
"It's amazing I won. I was running against peace, prosperity, and incumbency."
George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)