c++,函数里形参是指针,在函数里改变指针所指向的地址时,主函数里实参地址是不会改变的,那如果我想改变

c++,函数里形参是指针,在函数里改变指针所指向的地址时,主函数里实参地址是不会改变的,那如果我想改变它该怎么办例如:voidff(Bitnode*x,Bitnode*b... c++,函数里形参是指针,在函数里改变指针所指向的地址时,主函数里实参地址是不会改变的,那如果我想改变它该怎么办

例如:
void ff(Bitnode *x,Bitnode *bt)
{
x=bt;
}
int main
{
myclass b;//maclass 是我自己写的一个类

myclass *c;

ff(c,&b);

}
这样写的话主函数里的c指针地址不会变
展开
 我来答
未来需努力点缀
2012-12-15 · TA获得超过4679个赞
知道大有可为答主
回答量:850
采纳率:50%
帮助的人:536万
展开全部
楼主你好
用c++的引用吧

void ff(Bitnode *&x,Bitnode *bt)//改成引用
{
x=bt;
}

希望能帮助你哈
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xifengshima
2012-12-15
知道答主
回答量:2
采纳率:0%
帮助的人:2.9万
展开全部
把指针的地址传过去
void ff(Bitnode **x,Bitnode *bt)
{
*x=bt;
}
int main
{
myclass b;//maclass 是我自己写的一个类
myclass *c;
ff(&c,&b);
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lylovehl
2012-12-15 · TA获得超过1786个赞
知道小有建树答主
回答量:199
采纳率:0%
帮助的人:149万
展开全部
用二级指针,将函数改为下面的形式:
void ff(Bitnode **x,Bitnode *bt)
{
*x=bt;
}

调用时用ff(&c,&b);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
系榆6I
2012-12-15 · TA获得超过389个赞
知道小有建树答主
回答量:359
采纳率:0%
帮助的人:253万
展开全部
引用传递的是内存的别名,引用不占用内存 ,指针传递的是某一块内存的地址,而指针本身也是需要内存存储的 ,所以如果你想在函数里改变内存的内容传递内存的引用就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
太阳系ty
2012-12-15 · TA获得超过3759个赞
知道小有建树答主
回答量:537
采纳率:0%
帮助的人:359万
展开全部
用二级指针 **c; 传参数的时候传*c就好了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式