开发者社区> 问答> 正文
1
0
分享

C++ free 报错! 求教C/C++高手,万分感谢!!!!?报错

if (bFullCourse) {
        long AreaShopListNum = 0;
 
        if (piAreaInfo->SPKBN == 0)
            AreaShopListNum = HMDetailNum - 2;
        else
            AreaShopListNum = HMDetailNum - 3;
 
        AreaShopList_T *piAreaShopList = (AreaShopList_T*)malloc(sizeof(AreaShopList_T) * AreaShopListNum);
 
        int i = 0;
        HMDetail_T* pHMDetail = pioHMDetail;
        AreaShopList_T *pAreaShopList = piAreaShopList;
        while (i < HMDetailNum) {
            if (strcmp(piBaseInfo->BaseCD, pHMDetail->DlvCD) == 0) {
                i++;
                pHMDetail++;
                continue;
            }
            strcpy_s(pAreaShopList->HonNO, pHMDetail->HonNO);
            strcpy_s(pAreaShopList->ShopCD, pHMDetail->DlvCD);
 
            i++;
            pHMDetail++;
            pAreaShopList++;
        }
 
        //int ret = TimeRoutingW(piBaseInfo, ShopInfoNum, piShopInfo, 1, piAreaInfo,                        //AreaShopListNum, piAreaShopList,pioHMDetail, pszOutputFile, false, bCvs, bWeekExchange);
        int ret =0;
        free(piAreaShopList);    // 这里出错 求教高手   TimeRoutingW()函数注释掉,ret给固定返回还是错
  
         return ret;
    }
    else { ...

展开
收起
爱吃鱼的程序员 2020-06-14 15:49:40 670 0
举报
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    1、确保你的 TimeRoutingW函数里面是否修改过 piAreaShopList指针的头信息(比如偏移负数)。

    2、 piAreaShopList参数是不是引用传递,而在函数内存修改了这个变量(如果是c,请忽略这个原因)

    回复 @LaviLiu:找出问题了记得回复一下,,让我也学习学习。回复 @IM鑫爷:EN3Q回复 @LaviLiu:看不出问题了,打断点一行一行调试吧,观察piAreaShopList指针的变化。回复 @IM鑫爷:typedefstruct_AreaShopList_T{charHonNO[8];charShopCD[12];}AreaShopList_T;回复 @LaviLiu:AreaShopList_T的定义是什么样的。AreaShopListNum这个比HMDetailNum小呀,你malloc的空间不够,while循环越界了while(i<AreaShopListNum){}改成这样也没用,你说的这个也想到了但是也不行

    实在查不到原因就改成数组吧,

    不要用指针了.

    可以排除法,将中间处理步骤都注释掉,再看是否出问题,是否可能是 TimeRoutingW弄出了问题TimeRoutingW注释掉也不起作用检查下 pioHMDetail和 piAreaShopList里面元素数目情况吧,在循环中有没有可能其中一个越界!
    2020-06-14 15:49:55 举报
    赞同 评论 打赏

    评论

    全部评论 (0)

    登录后可评论
问答分类:
C++
问答地址:
问答排行榜
最热
最新

相关电子书

更多
使用C++11开发PHP7扩展 立即下载
GPON Class C++ SFP O;T Transce 立即下载
GPON Class C++ SFP OLT Transce 立即下载
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等