航梦星河 2021-05-16 02:10 采纳率: 100%
浏览 34
已采纳

这个读取访问权限冲突怎么修改?

萌新第一次写个寻路的,一直不能初始化,提示child指向parent时0xCDCDCD TreeNode* pNew = new TreeNode; //创建一个新节点为出库点 TreeNode* pout = new TreeNode; pout->pos = outPos; //新节点成为树根 //pRoot一直指向树的根节点 TreeNode* pRoot = new TreeNode; //新节点用来记录起点 pRoot->pos = begPos; pRoot->pParent = pout; //6 设定一个动态数组用来存储需要比较的节点 vector buff; //7 寻路 TreeNode* pCurrent = pRoot; TreeNode* pChild = NULL; //准备两个迭代器计算最小f值 vector::iterator it; vector::iterator itmin; while (1) { //7.1 找到当前点周围能走的点(并计算g值) for (int i = 0; i < 4; i++) { pChild = new TreeNode; pChild->pos = pCurrent->pos; switch (i) { case p_up: if (pChild->pos.row == pChild->pParent->pos.row) 求大佬们指点

  • 写回答

3条回答 默认 最新

  • CSDN专家-link 2021-05-16 06:54
    关注

    你在使用pParent时,都要检查一下pParent是否为空,并且每个node的pParent要初始化为空。你这个错误的原因应该是某个节点的pParent没有初始化就直接使用,会出现0xCDCDCD这样的地址

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?