mexFunction:mxDuplicateArray

时间:2018-07-31 21:19:37

标签: c++ matlab mex

使用mxDuplicateArray函数时,遇到此错误:

  

无法将参数double*转换为const mxArray* {aka const mxArray_tag*}的{​​{1}}转换为1

有人知道如何解决吗?

这是我的代码的一部分:

mxArray* mxDuplicateArray(const mxArray*)

1 个答案:

答案 0 :(得分:1)

<input type="email" name="email" ngModel email> <input type="email" name="email" ngModel email="true"> <input type="email" name="email" ngModel [email]="true"> mxDuplicateArray指针作为输入,而不是mxArray指针。

如果您要将double向量复制到MATLAB矩阵中并将该矩阵放入单元格数组中,则可以这样做:

NNLt[i]

您不应尝试释放for(...) { mxArray* tmp = mxCreatDoubleMatrix(1, NNLt[i].size(), mxREAL); copy(NNLt[i].begin(), NNLt[i].end(), mxGetPr(tmp)); mxSetCell(plhs[0], i, tmp); } 矩阵,而应让MATLAB处理通过tmp函数分配的所有内存。