c++ 二维数组作为参数引用

 参考 http://blog.163.com/tianhit@yeah/blog/static/165747821201052195212719/

#include <iostream>

using namespace std;

class cameraLocation
{
private:
	//左相机内参数矩阵
	float leftIntrinsic[3][3];
	//左相机旋转参数
	float leftRotation[3][3];
	//左相机平移向量
	float leftTranslation[1][3];
	//右相机内参数矩阵
	float rightIntrinsic[3][3];
	//右相机旋转矩阵
	float rightRotation[3][3];
	//右相机平移向量
	float rightTranslation[1][3];


public:
	//参数只写上第二维大小
	void getAllcameraList(float(*left_Intrinsic)[3], float(*left_Rotation)[3], float(*left_Translation)[3],
		float(*right_Intrinsic)[3], float(*right_Rotation)[3], float(*right_Translation)[3])
	{
		//不必一个一个赋值,注意sizeof()大小
		memcpy(left_Intrinsic, leftIntrinsic, sizeof(leftIntrinsic));
		memcpy(left_Rotation, leftRotation, sizeof(leftRotation));
		memcpy(left_Translation, leftTranslation, sizeof(leftTranslation));
		memcpy(right_Intrinsic, rightIntrinsic, sizeof(rightIntrinsic));
		memcpy(right_Rotation, rightRotation, sizeof(rightRotation));
		memcpy(right_Translation, rightTranslation, sizeof(rightTranslation));
	}


};



int main()
{
	cameraLocation mcameraLocation;

	//左相机内参数矩阵
	float leftIntrinsic[3][3];
	//左相机旋转参数
	float leftRotation[3][3];
	//左相机平移向量
	float leftTranslation[1][3];
	//右相机内参数矩阵
	float rightIntrinsic[3][3];
	//右相机旋转矩阵
	float rightRotation[3][3];
	//右相机平移向量
	float rightTranslation[1][3];

	//注意参数指向首地址
	mcameraLocation.getAllcameraList(&leftIntrinsic[0], &leftRotation[0], &leftTranslation[0],
		&rightIntrinsic[0], &rightRotation[0], &rightTranslation[0]);

	return 0;

}

猜你喜欢

转载自blog.csdn.net/weixin_40554881/article/details/80288679