当前位置:  开发笔记 > 编程语言 > 正文

我有一个指向对象的指针.如何调用期望引用的函数?

如何解决《我有一个指向对象的指针.如何调用期望引用的函数?》经验,为你挑选了2个好方法。

我有一个函数,它接受一个对象的引用:

void move(Ball& ball);

我有另一个函数调用'move()',它有一个指向ball的指针:

void foo(Ball* ball){
 //call move()
}

foo()应该如何将球传给move()

应该是这样的:

move(*ball);

要么:

move(ball);

要么:

move(&ball);

Fredrik Jans.. 11

第一个,移动(*球).

第二个,move(ball)尝试传递指针和第三个,move(&ball)尝试传递指针指针.



1> Fredrik Jans..:

第一个,移动(*球).

第二个,move(ball)尝试传递指针和第三个,move(&ball)尝试传递指针指针.



2> Steve Rowe..:

移动(*球);

这就是原因.您可以将引用视为基本上指向它所传递的对象的指针.因此,您需要对象本身,而不是指针.如果你调用move(ball),你将获得指针的引用(指针),而不是对象.相反,移动(*球)取消引用指针,然后引用取得该解除引用对象的指针.

推荐阅读
地之南_816
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有