名字不能取太长 2022-12-05 01:12 采纳率: 76.7%
浏览 196
已结题

在编写C++程序遇到了问题


for (int m = 0; m <= Merge->keynum; m++)
                {
                    q->ptr[loc] = Merge->ptr[m];
                    loc++;
                }

以上代码中q->ptr[loc] = Merge->ptr[m]意思应该是把Merge->ptr[m]赋值给q->ptr[loc],但是调试中发现Merge->ptr[m]被赋值给了q
调试结果如下
q是引用类型,是一个指针的引用,Merge是一个指针变量

img


请问这是为什么呀?如何解决这个bug?

结构定义:

//B树结构定义
typedef int KeyType;    //指定int类型为关键字类型
typedef bool Status;
typedef struct BTNode
{
    //B树结点类型
    int keynum;                        //结点当前关键字个数 
    KeyType key[ORDER + 1];            //结点关键字数组,key[0]未用
    struct BTNode* parent;            //双亲结点指针
    struct BTNode* ptr[ORDER+1];  //孩子结点指针数组,预留一个位置插入使用
}BTNode,*BTree;
typedef struct _result
{
    //B树的查找结果类型
    BTree pt;    //指向找到的结点
    int i;        //关键字在结点的位序
    bool tag;    //结果标志,1为成功,0为失败
}result;

函数原型:

Status Restore(BTree& q)

  • 写回答

8条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-12-05 02:02
    关注
    评论

报告相同问题?

问题事件

  • 系统已结题 12月13日
  • 修改了问题 12月5日
  • 修改了问题 12月5日
  • 创建了问题 12月5日

悬赏问题

  • ¥20 如何在 rocky9.4 部署 CDH6.3.2?
  • ¥35 navicat将excel中的数据导入mysql出错
  • ¥15 rt-thread线程切换的问题
  • ¥20 python忆阻器数字识别
  • ¥15 高通uboot 打印ubi init err 22
  • ¥20 PDF元数据中的XMP媒体管理属性
  • ¥15 R语言中lasso回归报错
  • ¥15 网站突然不能访问了,上午还好好的
  • ¥15 有没有dl可以帮弄”我去图书馆”秒选道具和积分
  • ¥15 semrush,SEO,内嵌网站,api