C+中的Matlab emxArray实数赋值+; 我用MATLAB编码器将一些MATLAB代码转换成C++。 我已经声明了如下两个数组: emxArray_real_T *overflowIF emxArray_real_T *overflowIFTemp overflowIF = emxCreateWrapper_real_T(NULL,0,0) overflowIFTemp = emxCreateWrapper_real_T(NUll,0,0) emxDestroyArray_real_T(overflowIF)

C+中的Matlab emxArray实数赋值+; 我用MATLAB编码器将一些MATLAB代码转换成C++。 我已经声明了如下两个数组: emxArray_real_T *overflowIF emxArray_real_T *overflowIFTemp overflowIF = emxCreateWrapper_real_T(NULL,0,0) overflowIFTemp = emxCreateWrapper_real_T(NUll,0,0) emxDestroyArray_real_T(overflowIF),c++,matlab,matlab-coder,C++,Matlab,Matlab Coder,其中overflowIFTemp是Matlab函数的输出,函数调用后,我会这样做: overflowIF = overflowIFTemp 甚至: *overflowIF= *overflowIFTemp 此时没有错误,但当我要删除为溢出分配的数组时,如果程序崩溃并显示无响应消息,我将执行如下删除操作: emxArray_real_T *overflowIF emxArray_real_T *overflowIFTemp overflowIF = emxCr

其中overflowIFTemp是Matlab函数的输出,函数调用后,我会这样做:

   overflowIF = overflowIFTemp
甚至:

   *overflowIF=  *overflowIFTemp 
此时没有错误,但当我要删除为
溢出分配的数组时,如果
程序崩溃并显示无响应消息,我将执行如下删除操作:

   emxArray_real_T *overflowIF
   emxArray_real_T *overflowIFTemp
   overflowIF = emxCreateWrapper_real_T(NULL,0,0)
   overflowIFTemp = emxCreateWrapper_real_T(NUll,0,0)
emxDestroyArray_real_T(overflowIF)
对于overflowIFTemp删除也有同样的问题

谁能告诉我这个代码有什么问题吗


谢谢大家:

为什么你要编辑生成的C++代码?为什么不先编辑Matlab代码,看看生成的代码中发生了什么?然后只链接到现有生成的库?创建库时使用的是空指针。如果您正在分配这些指针,则从其他地方创建的数据不需要使用EMX CurrestRePAPPrReal.Tr.To,为什么要编辑生成的C++代码?为什么不先编辑Matlab代码,看看生成的代码中发生了什么?然后只链接到现有生成的库?创建库时使用的是空指针。如果要分配从其他地方创建的这些指针数据,则不需要使用emxCreateWrapper\u real\T。