具体问题:
error C2664: 'mxArray *mxCreateNumericArray_730(mwSize,const mwSize *,mxClassID,mxComplexity)': cannot convert argument 2 from 'const int [3]' to 'const mwSize *'
出错处代码:
arrayf V; if( nl>1 ) {
const int ds[3] = {h,w,3};
pl[1] = mxCreateNumericArray(3,ds,mxSINGLE_CLASS,mxREAL);
V._x = (float*) mxGetData(pl[1]); V._h=h; V._w=w;
}
修改后:
arrayf V; if( nl>1 ) {
const mwSize ds[3] = {h,w,3};
pl[1] = mxCreateNumericArray(3,ds,mxSINGLE_CLASS,mxREAL);
V._x = (float*) mxGetData(pl[1]); V._h=h; V._w=w;
}
分析原因:
da类型定义出错,将其改为mxSize。