Problem mit zweidimensionalen Array
-
Hi Leute...
Ich habe ein Problem mit einem zweidimensionalen Array:int **Data; /* ... */ const int w = Texture.Width(); const int h = Texture.Height(); Data = new int[w][h];
Gibt den Fehler: *Konvertierung von 'int ( *)[1]' nach 'int * ' nicht moeglich
Warum geht das nicht? Und wie bekomm ich es sonst hin, dass ich die Groesse der beiden Felder variabel gestalten kann?
Danke fuer alle Antworten im voraus.
MfG Aoeke
-
es gibt keinen new[][]-Operator in C++. Du musst dann schon durch das erste Array iterieren und nochmal new[] machen.
Aber ich würde an deiner Stelle lieber std::vector benutzen oder mir zumindest einen SmartPointer schreiben (oder boost::shared_array/boost::scoped_array nehmen)
-
Kannst du mir mal ein Beispiel fuer's "iterieren und danach das und das tun" geben? Bin da mit der C++ Standard-Fachsprache noch nicht so vertraut...
Was sind die Vorteile eines Vectors gegenueber einem Array?
MfG Aoeke
-
Hat sich erledigt.
Ich bin auf ein eindimensionales Array umgestiegen.
MfG Aoeke