首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从C++-CLI中的指针函数返回多维数组

从C++-CLI中的指针函数返回多维数组
EN

Stack Overflow用户
提问于 2009-05-28 14:02:48
回答 2查看 2K关注 0票数 2

我编写了以下代码从指针返回多维数组,这个函数的function.Input参数是一维数组,输出是指针那点多维数组。

代码语言:javascript
复制
double  **function( array< double>^ data,int width,int height ) {
    int i;
    double **R = new double *[height];
    for (i=0;i<=height;i++)
        R[i]=new double [width];

    // ....

    return R;
}

int main( void ) {
    int M=2, N=10, i,j;
    // define multimensional array 2x10

    array< array< double >^ >^ input = gcnew array< array< double >^ >(M);

    for (j=0; j<input->Length; j++) {
        input[j]=gcnew array<double>(N);}
        double **result1 = new double *[N];
        for(i=0; i<=N; i++)
            result1[i]=new double [M];
        double **result2 = new double *[N];
        for(i=0; i<=N; i++)
            result2[i]=new double [M];

        //............

        // send first row array of multidimensional array to function

        result1=function(input[0],M,N);

        // send second row array of multidimensional array to function

        result2=function(input[1],M,N);

        for (i=0;i<=N;i++)
            delete R[k];
        delete R;}*/

    return 0;
 }

我在Visual 2008中成功地构建了这个程序。当我调试这段代码时,程序计算了result1 pinter变量,但是在计算函数中的result2时:

代码语言:javascript
复制
R=new double *[height];
for (i=0; i<=height; i++)
    R[i]=new double [width];

提供了以下错误:

'System.Runtime.InteropServices.SEHException‘类型的未处理异常发生在stdeneme.exe中

附加信息:外部组件引发异常。

不幸的是我不知道该怎么做。

EN

回答 2

Stack Overflow用户

发布于 2009-05-28 14:21:13

一看,我就看到一个错误

代码语言:javascript
复制
for (i=0;i<=height;i++)
 {
 R[i]=new double [width];
 }

您已经分配了Rheight,但是循环是height+1的

你应该写循环

代码语言:javascript
复制
for (i=0; i<height; i++)

我看到的另一件事是,当你想破坏你的矩阵时,你会写

代码语言:javascript
复制
delete R[k];

但它应该是

代码语言:javascript
复制
delete [] R[k];
票数 9
EN

Stack Overflow用户

发布于 2009-05-28 14:16:23

<=是你的问题。有效的数组索引从0N-1。分配给result1[N]是一种访问冲突--这是它抱怨的例外。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/921005

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档