Error C2664...
-
Hallo zusammen!
Bei der folgenden Anweisung:
pDC->Ellipse(pDoc->m_ellipseArray[y][i]);
tritt dieser Fehler auf:
error C2664: 'BOOL CDC::Ellipse(LPCRECT)' : Konvertierung des Parameters 1 von 'tagRECT' in 'LPCRECT' nicht möglich
Ich habe bereits in der MSND Library nachgeschaut, aber auch nichts schlaues gefunden.
Das zweidimensionale Array wir hier gefüllt:
m_ellipseArray[y][i] = CRect(n1, n2, n3, n4);
Das ganze Programm funzt bei Verwendung eines normalen Arrays, mit
pDC->Ellipse(LPCRECT(pDoc->m_ellipseArray[y][i]));
habe ichs auch schon versucht...
Hoffentlich kann mir jemand weiterhelfen, danke jetzt schon!!
-
pDC->Ellipse(&pDoc->m_ellipseArray[y][i]);
-
Danke für deine Antwort...
Doch jetzt tritt ein Laufzeitfehler auf:
Unbehandelte Ausnahme bei 0x778a144b in gaga.exe: Benutzerhaltepunkt.
pDC->Ellipse(&pDoc->m_ellipseArray[y][i]);
wie kann ich das bei der obigen Codezeile verstehen? Ich denke das & bewirkt die Adresse der Zeigerposition, oder lieg ich da falsch? Ich programmiere erst eine Woche mit C++, darum mein kleines Wissen
Greeetz
-
Oder eine andere Frage:
Wieso funktioniert
pDC->Ellipse(pDoc->m_ellipseArray[i]);
aber
pDC->Ellipse(pDoc->m_ellipseArray[y][i]);
nicht, da in beiden Arrays Objekte vom gleichen Typ (CRect) vorhanden sind, sollte die zweite Variante ja eigentlich auch funktionieren!
-
Befass dich mal mit Zeigern.
wenn foo ein int** ist, dann ist foo[i] ein int* und foo[i][j] ein int
Es funktioniert zwar, syntaktisch - ist aber semantisch (wahrscheinlich) falsch.