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指针地址不会变 展开
例如:
void ff(Bitnode *x,Bitnode *bt)
{
x=bt;
}
int main
{
myclass b;//maclass 是我自己写的一个类
myclass *c;
ff(c,&b);
}
这样写的话主函数里的c指针地址不会变 展开
5个回答
展开全部
楼主你好
用c++的引用吧
void ff(Bitnode *&x,Bitnode *bt)//改成引用
{
x=bt;
}
希望能帮助你哈
用c++的引用吧
void ff(Bitnode *&x,Bitnode *bt)//改成引用
{
x=bt;
}
希望能帮助你哈
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把指针的地址传过去
void ff(Bitnode **x,Bitnode *bt)
{
*x=bt;
}
int main
{
myclass b;//maclass 是我自己写的一个类
myclass *c;
ff(&c,&b);
}
void ff(Bitnode **x,Bitnode *bt)
{
*x=bt;
}
int main
{
myclass b;//maclass 是我自己写的一个类
myclass *c;
ff(&c,&b);
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用二级指针,将函数改为下面的形式:
void ff(Bitnode **x,Bitnode *bt)
{
*x=bt;
}
调用时用ff(&c,&b);
void ff(Bitnode **x,Bitnode *bt)
{
*x=bt;
}
调用时用ff(&c,&b);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
引用传递的是内存的别名,引用不占用内存 ,指针传递的是某一块内存的地址,而指针本身也是需要内存存储的 ,所以如果你想在函数里改变内存的内容传递内存的引用就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用二级指针 **c; 传参数的时候传*c就好了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询