使用mxDuplicateArray
函数时,遇到此错误:
无法将参数
double*
转换为const mxArray* {aka const mxArray_tag*}
的{{1}}转换为1
。
有人知道如何解决吗?
这是我的代码的一部分:
mxArray* mxDuplicateArray(const mxArray*)
答案 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
函数分配的所有内存。