如何在C中将二维数组作为参数传递?

时间:2019-06-04 16:51:30

标签: c pointers

给出以下2d数组

float KAL_P_X[2][2];
float KAL_P_Y[2][2];
float KAL_P_Z[2][2];

和功能

float kalman(float * P[2][2], float newAngle, float newRate)
{
 P[0][0] = 1.0f;
 P[0][1] = 2.0f;
 P[1][0] = 1.0f;
 P[1][1] = 2.0f;
 return 1.0f;
};

我收到错误

cannot convert 'float (*)[2][2]' to 
'float* (*)[2]' for argument '1' to 'float kalman(float* (*)[2], float, float)'

使用时

  float Angle.GX =  kalman(&KAL_P_X, Angle.AX, Raw.GX);
  float Angle.GY =  kalman(&KAL_P_Y, Angle.AY, Raw.GY);
  float Angle.GZ =  kalman(&KAL_P_Z, Angle.AZ, Raw.GZ);

那么,我在这里做什么错了?

0 个答案:

没有答案