Ich versuche, eine Matrix4x4-Klasse für meinen Port der 3D-Engine zu implementieren, die ich zuvor gemacht hatte. Hier ist, was ich bisher in meinem Header-Datei haben:Wie zweidimensionale Arrays in C++ zurückgegeben werden
#ifndef MAT4_H
#define MAT4_H
class Matrix4
{
public:
Matrix4() {}
float[4][4] getMatrix() { return m; }
//...
//other matrix related methods are omitted
//...
private:
float m[4][4];
};
#endif
Aber die Methode, die angeblich die zweidimensionale Anordnung zurück verursacht dieser Fehler:
src/Matrix4.h:13:10: error: expected unqualified-id before '[' token
float[4][4] getMatrix() { return m; }
^
Es tut mir leid, wenn diese Frage bereits hat eine Antwort, aber die Antworten, die ich auf dieser Seite gefunden habe, betrafen normalerweise das Zurückgeben von Zeigern anstelle eines Arrays. Hoffe, du kannst helfen, danke.
zurück 'vektor' statt? –
taocp
@taocp Das ist ziemlich anders als ein 2D-Array. Vermutlich einige Codes benötigen die Daten als zusammenhängenden Block. – juanchopanza
Sie können 'float [] []' zurückgeben. Aber Vektor kann wirklich bessere Lösung sein. – magras