Closed. This question is off-topic。它当前不接受答案。
想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
4年前关闭。
我有2x2矩阵。我想检查此矩阵是否对称。当我将此功能添加到代码中时,
.exe文件已停止工作错误。
我该如何解决这个问题?有人能帮我吗?
但是,我看不到您对
想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
4年前关闭。
我有2x2矩阵。我想检查此矩阵是否对称。当我将此功能添加到代码中时,
.exe文件已停止工作错误。
我该如何解决这个问题?有人能帮我吗?
void Array::symetrical_square_control()
{
square2by2=new int*[4];
int var2=0, var=0,i,k,l,j;
for( i=0, l=var2 ;i<2 , l<var2+rowsize ;i++,l++)
{
for( j=0 , k=var ; j<2, k<var+2 ;j++,k++)
{
altkare2[i][j]=matris[l][k];
}
if(i==1)
{
var++;
if(var==rowsize-1)
{
cout<<endl;
for(int x=0;x<2;x++)
{
cout<<endl;
for(int y=0;y<2;y++)
{
cout<<square2by2[x][y];
}
}
var = 0;
i-=2;
l-=1;
if(l==rowsize+1)
{
break;
}
}
else
{
i-=2;
l-=2;
cout<<endl;
for(int x=0;x<2;x++)
{
cout<<endl;
for(int y=0;y<2;y++)
{
cout<<square2by2[x][y];
}
}
}
}
}
}`
最佳答案
您永远不会在square2by2
中创建数组。它们需要分别用new
初始化。当您执行cout<<square2by2[x][y];
时,该程序没有要引用的有效内存地址,因此会遇到分段错误/访问冲突。
编辑:初始化square2by2
:
square2by2 = new int* [2];
square2by2[0] = new int[2];
square2by2[1] = new int[2];
但是,我看不到您对
square2by2
所做的操作-在不首先将其设置为某些值的情况下打印其值。我假设square2by2
实际上是指其他矩阵变量之一(即altkare2
或matris
)关于c++ - 如何解决此错误:.exe文件已停止工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33578066/
10-11 15:24