读书人

请问 这段代码错哪了 关于动态数组的

发布时间: 2012-10-19 16:53:35 作者: rapoo

请教 这段代码哪里错了 关于动态数组的
是关于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不懂

读书人网 >C++

热点推荐