double data[3][3] = { 1,0,1,0,2,0,0,0,3 };memcpy(mxGetPr(aa), data, 3 * 3 * sizeof(double));//这个是正确的。。。。
double **A;
A = new double *[3];
for (int i = 0; i < 3; i++)
A[i] = new double[3];
memcpy(mxGetPr(aa), A, 3 * 3 * sizeof(double));//这样就出问题了,导入matlab中的数值根本不对。A[][]和data[][]在C++中数值完全一样
C++调用matlab :在C++中定义静态数组向matlab传递时,正常。定义指针动态数组时,传递的数值却不对?
答案:2 悬赏:0
解决时间 2021-03-21 03:46
- 提问者网友:情系雨樱花
- 2021-03-21 00:06
最佳答案
- 二级知识专家网友:我的任性你不懂
- 2021-03-21 00:29
memcpy(mxGetPr(aa), A, 3 * 3 * sizeof(double));换成
memcpy(mxGetPr(aa), &A, 3 * 3 * sizeof(double));试试0.0
我觉得是这个二维数组传递的问题,建议调试下这个A
memcpy(mxGetPr(aa), &A, 3 * 3 * sizeof(double));试试0.0
我觉得是这个二维数组传递的问题,建议调试下这个A
全部回答
- 1楼网友:情战凌云蔡小葵
- 2021-03-21 00:59
指针数组 顾名思义 保存指针的数组 数组能保存整形 长整型 double float 对象 当然也可以保存指针 (虽然我从来没用过)。 数组指针 就是指向数组首地址的指针。 其实数组名就是数组指针 他指向的就是数组的首地址。。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯