开发者社区> 问答> 正文

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

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 { ...

展开
收起
kun坤 2020-05-29 11:34:27 437 0
1 条回答
写回答
取消 提交回答
  • 1、确保你的TimeRoutingW函数里面是否修改过piAreaShopList指针的头信息(比如偏移负数)。
    2、piAreaShopList参数是不是引用传递,而在函数内存修改了这个变量(如果是c,请忽略这个原因) ######回复 @LaviLiu : 找出问题了记得回复一下,,让我也学习学习。######回复 @IM鑫爷 : EN 3Q######回复 @LaviLiu : 看不出问题了,打断点一行一行调试吧,观察piAreaShopList指针的变化。######回复 @IM鑫爷 : typedef struct _AreaShopList_T { char HonNO[8]; char ShopCD[12]; } AreaShopList_T;######回复 @LaviLiu : AreaShopList_T的定义是什么样的。######AreaShopListNum这个比HMDetailNum小呀,你malloc的空间不够,while循环越界了######while (i < AreaShopListNum){} 改成这样也没用 , 你说的这个也想到了 但是也不行###### 实在查不到原因就改成数组吧,
    不要用指针了. ######可以排除法,将中间处理步骤都注释掉,再看是否出问题,是否可能是 TimeRoutingW弄出了问题######TimeRoutingW 注释掉也不起作用######检查下 pioHMDetail 和piAreaShopList里面元素数目情况吧,在循环中有没有可能其中一个越界!

    2020-05-29 13:04:33
    赞同 展开评论 打赏
问答分类:
C++
问答地址:
问答排行榜
最热
最新

相关电子书

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