| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 577 人关注过本帖
标题:访问冲突是什么东东啊?
取消只看楼主 加入收藏
lonely00
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-10-23
收藏
 问题点数:0 回复次数:0 
访问冲突是什么东东啊?

眼看我的类要完成了啊,但是在编译到一个return语句后就报错了
matri.exe 中的 0x00461818 处最可能的异常: 0xC0000005: 读取位置 0xfdfdfdf1 时发生访问冲突
我的拷贝够着函数没问题哦,而且return语句之前的语句执行的结果是正确的,在正确的那几个函数中也用到了return语句返回对象,都没问题,为什么在这里就出问题了呢?

matrix matrix::inverse()
{
if(line!=column) //判断逆矩阵是否存在
{
cout<<"error,line and column differ so no inversion exists!";
exit(1);
}
matrix tem(line,2*column); //构造分块矩阵
for(int i=0;i<line;i++)
for(int j=0;j<2*column;j++)
{ if(j<column)
tem.matrip[i][j]=matrip[i][j];
else
{
if(j-i==column)
tem.matrip[i][j]=1.0;
else
tem.matrip[i][j]=0.0;
}
}
for(int i=0;i<tem.line;i++) //初等变换求矩阵的逆
{
if(tem.matrip[i][i]==0.0) //确保第i行第i列元素不为0
{
int j=i+1;
while(tem.matrip[j][i]==0.0&&j<tem.line) j++;
if(j>=tem.line-1)
{
cout<<"error,no inversion exists!";
exit(1);
}
tem.exchangeij(i,j);
}
if(tem.matrip[i][i]!=1.0)
tem.mi(1.0/tem.matrip[i][i],i); //把第i行i列的元素变成1
long double m=0.0;
for(int j=i+1;j<tem.line;j++)
{
if(tem.matrip[j][i]==0.0)continue;
m=-tem.matrip[j][i];
tem.miToj(m,i,j);
}
tem.outputm();
}
for(int i=tem.line-1;i>0;i--)
{
for(int j=i-1;j>=0;j--)
{
if(tem.matrip[j][i]==0)continue;
long double m=-tem.matrip[j][i];
tem.miToj(m,i,j);
tem.outputm();
}
}
matrix result(line,column);
for(int i=0;i<line;i++)
for(int j=0;j<column;j++)
result.matrip[i][j]=tem.matrip[i][column+j];
return result; //就是在这里就报错了啊,其实计算结果都出来了的哦,为什么会这样呢?
}

matrix::matrix(const matrix& m):line(m.line),column(m.column) //拷贝构造函数
{
matrip=new long double*[line];
for(int i=0;i<line;i++)
{
matrip[i]=new long double[column];
for(int j=0;j<column;j++)
matrip[i][j]=m.matrip[i][j];
}
}
在return语句之前执行的结果和预期完全相符 哈,但是一执行return语句就报错了啊,有什么问题可以加我QQ

[此贴子已经被作者于2007-11-5 14:47:54编辑过]

搜索更多相关主题的帖子: 东东 访问 
2007-11-04 16:50
快速回复:访问冲突是什么东东啊?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016899 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved