【发布时间】:2024-04-15 16:35:01
【问题描述】:
我正在尝试为我之前制作的 3D 引擎端口实现一个 Matrix4x4 类。这是我目前在头文件中的内容:
#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
但是应该返回二维数组的方法导致这个错误:
src/Matrix4.h:13:10: error: expected unqualified-id before '[' token
float[4][4] getMatrix() { return m; }
^
如果这个问题已经有了答案,我很抱歉,但我在这个网站上找到的答案通常是关于返回指针而不是数组。希望你能帮忙,谢谢。
【问题讨论】:
-
改为返回
vector<vector<float> >? -
@taocp 这与二维数组完全不同。推测某些代码需要数据是一个连续的块。
-
您可以返回
float[][]。但是向量可能是更好的解决方案。 -
@taocp 是的,这可以解决我的问题,但是没有办法用数组来做到这一点吗?
-
@PetrPervukhin 我之前尝试过
float[][],似乎也没有用
标签: c++ arrays multidimensional-array