Moo*_*min 6 c++ arrays multidimensional-array pointer-to-member
我有很长一段时间遇到这个问题 - 我将固定大小的2D数组作为类成员.
class myClass
{
public:
void getpointeM(...??????...);
double * retpointM();
private:
double M[3][3];
};
int main()
{
myClass moo;
double *A[3][3];
moo.getpointM( A ); ???
A = moo.retpointM(); ???
}
Run Code Online (Sandbox Code Playgroud)
我想将指针传递给M外面的矩阵.这也可能是很简单的,但我就是找不到适当的组合&和*等
感谢帮助.
double *A[3][3];是一个二维的double *s 数组.你想要的double (*A)[3][3];
.
然后,请注意,A并*A和**A所有具有相同的地址,只是不同的类型.
制作typedef可以简化事情:
typedef double d3x3[3][3];
Run Code Online (Sandbox Code Playgroud)
这是C++,你应该通过引用传递变量,而不是指针:
void getpointeM( d3x3 &matrix );
Run Code Online (Sandbox Code Playgroud)
现在您不需要在类型名称中使用parens,并且编译器确保您传递的是正确大小的数组.
| 归档时间: |
|
| 查看次数: |
5217 次 |
| 最近记录: |