函数返回时——引发了异常: 读取访问权限冲突。 **_Right** 是 0x25。 5C

由于代码太长,附上部分代码,问题是函数执行完返回就出现异常

//主程序代码
    int k = 2;
    int attempts = 3;
    vector<Point2d> initializeClusterCenter(k);
    vector<vector<Point>> fittingPointSet(k);
    vector<vector<Point>> divisionPointSet;

    divisionPointSet = pMinAreaRect(srcImg, points, showImg);

    initializeClusterCenter = meanValueClassify(divisionPointSet, k);
    fittingPointSet = MaxMinDisFun(points, initializeClusterCenter, attempts, k);

//函数代码
vector<vector<Point>> MaxMinDisFun(vector<Point> points, vector<Point2d> initializeClusterCenter, int attempts, int clusterNum)
{
    assert(attempts >= 0);
    assert(clusterNum > 0);

    vector<vector<Point>> cluster_pointSet(clusterNum);//聚类中心对应的点集

    constexpr float epsilon = 1;
    int dataNum = points.size(); //输入的样本数
    vector<Point2d> mean_values(clusterNum);
    vector<Point2d> former_clusterCenter(clusterNum);//上一步迭代的聚类中心
    vector<Point2d> latter_clusterCenter(clusterNum);//当前的聚类中心

......


c++

3个回答

你这样只给出部分代码似乎看不出来什么问题呀,一般出现访问冲突都是访问了已经释放的内存,可以使用vs单步调试找到具体冲突位置的。

liujianchen_linux
Next66 回复指尖遗落旧时光: MaxMinDisFun这个函数的前2个参数你用引用传递试下
一年多之前 回复
qq_19304485
指尖遗落旧时光 就是采用的单步调试,执行到函数结尾括弧后,下一步就出现了这种问题
一年多之前 回复
qq_19304485
指尖遗落旧时光 感觉没有,调试的时候,只是函数返回就出现这个问题
一年多之前 回复

Point类应该是没有重载“=”或者拷贝构造函数造成的

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐