返回首页

你好,我在我的项目中使用的多种功能,他们每个人得到一个数组(号),并返回它像以上代码:

arrayG = gray(bm);

           arrayN = noise(arrayG);

           arrayH = histogram(arrayN);

           arrayB = binary(arrayH);

           showPic(arrayG);
第一个函数得到一个位图,并返回一个阵列,用于在未来的功能,点阵图使用intering array.The问题是,市占,我使用作为对showPic enterance arrayG,,但showPic使用ArrayB的最后一个函数作为它的入口,请帮我提前感谢
这里是更多的解释:
{C}
private int[,] binary(int[,] arrayEnter)

       {

           stB.Start();

           const int t = 16;

           for (int i = 0; i < picP.Height; i++)

           {

               for (int j = 0; j < picP.Width; j++)

               {

                   if (arrayEnter[i, j] < t)

                       arrayEnter[i, j] = 0;

                   else

                       arrayEnter[i, j] = 255;

               }

           }

           stB.Stop();

           return arrayEnter;

 

       }
{体C3}

回答

评论会员:C_Johnson 时间:2012/02/04
您好,

没有进入到多深入,一个int是一个简单的价值。这是很容易复制,就是为什么我们可以说A = B;但是和int []数组是一个技术上复杂的结构,这是不可复制的直接。微软不允许这种自动的原因仅仅是时间和空间。你有数组中的每个值和效果副本,如果在那里谈论图像或"多维阵列"即int [640320]那204'800整数复制,这需要时间和占用的空间量的两倍。

微软防止现场自动传递到阵列的参考。它是专杀吃的所有资源的制度,以防止新的程序员。

据我所知微软不允许多维数组自动被复制。所以,你必须复制自己在这里是代码的每个元素:

{的C4}所以,你的代码看起来像这样:

{C5的}

照顾
克里斯
评论会员:游客 时间:2012/02/04
你已经张贴在这里的代码是不够的,回答你的问题两件事情-确保没有数组引用彼此相连。确保剂量showPic(),你想要它做的事,是不是灰色(副本)