请教 这段代码哪里错了 关于动态数组的
是关于c++和matlab混编的
- C/C++ code
#include "mex.h"//y=find(x)void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) { size_t r=mxGetM(prhs[0]); size_t c=mxGetN(prhs[0]); double *x=mxGetPr(prhs[0]);//mxGetLogicals mxislogical double *y=new double[r]; double *ls=y; size_t i=0,j=0; while (++i<=r){ if (*x++!=0){ *ls++=i; j++; } } plhs[0]=mxCreateDoubleMatrix(j,c,mxREAL); double *R=mxGetPr(plhs[0]); while(j-->0){ *R++=*y++; } delete [] y;}double *y=new double[r];这里如果用数组是double y[size] 这样是行的,我的动态数组哪里错了
[解决办法]
matlab不懂