Próbuję zaimplementować klasę Matrix4x4 dla mojego portu silnika 3D, który wcześniej wykonałem. Oto co mam do tej pory w moim pliku nagłówka:Jak zwrócić tablice dwuwymiarowe w C++
#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
lecz sposób, który ma zwrócić dwuwymiarową tablicę powoduje ten błąd:
src/Matrix4.h:13:10: error: expected unqualified-id before '[' token
float[4][4] getMatrix() { return m; }
^
przykro mi, jeśli już to pytanie ma odpowiedź, ale odpowiedzi, które znalazłem na tej stronie, zwykle dotyczyły zwracania wskaźników zamiast tablic. Mam nadzieję, że możesz pomóc, dzięki.
return 'wektor>' zamiast? –
taocp
@taocp To zupełnie co innego niż tablica 2D. Można przypuszczać, że niektóre kody wymagają, aby dane były ciągłym blokiem. – juanchopanza
Możesz zwrócić 'float [] []'. Ale wektor może być lepszym rozwiązaniem. – magras