Zeiger auf Zweidimensionales Array
-
Hi Leute!
Kann mir einer von euch bitte sagen wie ich einen Zeiger auf mein Array
Rot[660][500]schreiben kann.
Schonmal danke im Vorraus
MfG
Blind
-
&Rot liefert die Adresse von Rot
-
Ich hatte schon mal
unsigned char* rot[650][500] ; *rot[0][0]=&Rot;aber da war der compiler auch am Fehlerausgeben.
error C2440: '=' : 'unsigned char (*)[660][500]' kann nicht in 'unsigned char' konvertiert werden Diese Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat
-
Du versuchst grad *rot[0][0] (EIN Char-Element des ganzen Vektors!) die Adresse des anderen Vektors Rot zuzuweisen - dat jet doch net...

unsigned char* rot;
rot = &Rot;damit zeigt rot auf Rot
-
Ich bekomme immernoch den Fehler
error C2440: '=' : 'unsigned char (*)[660][500]' kann nicht in 'unsigned char *' konvertiert werden Die Typen, auf die verwiesen wird, sind nicht verwandt; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformatunsigned char Rot[660][500]; //definition von Rot
-
unsigned char Rot[100][100]; unsigned char* rot = &(Rot[0][0]);Lässt sich bei mir kompilieren. Und sollte das tun, was du versuchst.
-
MuehBln schrieb:
Du versuchst grad *rot[0][0] (EIN Char-Element des ganzen Vektors!) die Adresse des anderen Vektors Rot zuzuweisen - dat jet doch net...

unsigned char* rot;
rot = &Rot;damit zeigt rot auf Rot
Wie MuehBln schon schrieb:
unsigned char Rot[650][500]; unsigned char* rot; rot = &Rot;Dann haste nen Zeiger auf Rot.
Oder wie willst Du das jetzt haben?*langt sich an Kopf*
Geht natprlich nicht so wie ich beschrieb, sondern wie mein Vorposter!
-
Danke das Funktioniert bei mir jetzt auch.
Ich habe nochmal eine andere Frage und zwar wie kann ich eine Funktion aus einer anderen Klasse aufrufen?
Ich habe es mit
RotDlg::OnRot(rot);Versucht aber das Funktioniert bei mir nicht muss ich die Funktion erst als Global deffinieren? Wenn ja wie mache ich das?
Ich bekomme folgenden Fehler:
error C2352: 'RotDlg::OnRot' : Unzulaessiger Aufruf einer nichtstatischen Member-Funktion c:\tmp\kopie von kopie von firststep 0.3\rotdlg.h(19) : Siehe Deklaration von 'OnRot'
-
so
class RotDlg { public: static void OnRot(int rot); }; int main() { RotDlg::OnRot(100); return 0; }
-
Sicher, dass das das tut, was du haben willst? (Doofer Satz)
Statische Member sind für alle Objekte gleich.
Ansonsten brauchst du eine Objektinstanz.