コイゼン
2018-11-08 10:22
采纳率: 80%
浏览 1.3k
已采纳

MFC中:引发的异常: 0xC0000005: 写入位置 0x1F1105AC 时发生访问冲突.如何解决?

代码如下:提示引发异常的代码是最后两行。

 f>>sum_match;                                                                              //读入比赛总数
    Match_Info *matchinfo = new Match_Info[sum_match];                                          //动态申请数组
    for(i=0;i<sum_match;i++)                                                                    //结构体初始化
        matchinfo[i].first_score_info = NULL;
    for(i=0;i<sum_match;i++)
    {                                                                   //读入比赛信息
        f>>matchinfo[i].match_NUM>>matchinfo[i].match_if_group>>matchinfo[i].match_type>>matchinfo[i].match_number//是否比赛,类型,编号
            >>matchinfo[i].match_date>>matchinfo[i].match_time                                  //比赛日期,时间
            >>matchinfo[i].match_teamA>>matchinfo[i].match_teamA_NUM                            //队伍A国家,队伍A总编号
            >>matchinfo[i].match_teamB>>matchinfo[i].match_teamB_NUM                            //队伍B国家,队伍B总编号
            >>matchinfo[i].match_if_finish;                                    

        G.Edge[matchinfo[i].match_teamA_NUM][matchinfo[i].match_teamB_NUM]=matchinfo[i].match_NUM;
        G.Edge[matchinfo[i].match_teamB_NUM][matchinfo[i].match_teamA_NUM]=matchinfo[i].match_NUM;  

求大神们帮忙看看解决一下

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • threenewbee 2018-11-08 10:27
    已采纳

    你输入了一大串,是不是匹配,特别是match_teamA_NUM和match_teamB_NUM,输入的是什么,调试下,
    看看 G.Edge[matchinfo[i].match_teamA_NUM][matchinfo[i].match_teamB_NUM]=matchinfo[i].match_NUM; 这里是不是越界。

    打赏 评论

相关推荐 更多相似问题