求助!!Mpso130412.exe 中的 0x001e3c6d 处最可能的异常: 0xC0000005: 写入位置 0x001f6f78 时发生访问冲突

huahuaniuno1 2013-04-16 11:06:55
这其实是一个快速排序的算法,思路很简单,就是按照archivefit数组中每一列值分别排序,把archivevar中对应行也进行调整。但就是一直提示内存访问冲突,搞了好久实在解决不了,求大神帮帮忙,小弟感激不尽!!
代码如下:错误一般会出现在红色字体所标的位置。。。
void fitness_qstor(uint f, uint begin, uint lastPart)
{
uint i=begin,j=lastPart-1;
double pivotfit,pivotvar;
int k;
pivotvar=archivevar[begin][f];
pivotfit=archivefit[begin][f];
while(i<j)
{
while(i<j && (archivefit[j][f] >= pivotfit))
j--;
for(k=0; k < maxvar; k++)
archivevar[i][k] = archivevar[j][k];
for(k=0;k<maxfun;k++)
archivefit[i][k] = archivefit[j][k];
while(i<j && (archivefit[i][f] <= pivotfit))
i++;
for(k=0; k < maxvar; k++)
archivevar[j][k] = archivevar[i][k];
for(k=0;k<maxfun;k++)
archivefit[j][k] = archivefit[i][k];
}
for(k=0; k < maxvar; k++)
archivevar[i][k] = pivotvar;
for(k=0;k<maxfun;k++)
archivefit[i][k] = pivotfit;
if(begin<i-1)
fitness_qstor(f,begin,i);
else
if(lastPart>i+1)
fitness_qstor(f,i+1,lastPart);
else
;
}
...全文
140 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
huahuaniuno1 2013-04-25
  • 打赏
  • 举报
回复
恩,谢谢了。确实是这个问题,我已经搞定了
shen_wei 2013-04-19
  • 打赏
  • 举报
回复
这个就是查找数组越界问题。。
huahuaniuno1 2013-04-17
  • 打赏
  • 举报
回复
没大神在吗?!!

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧