我正在使用一个具有绘图功能的库,它引用了一个圆圈。我希望调用此函数,但我有一个指向我的圆形对象的指针。我可以将这个指向对象传递给绘制函数吗?如果没有,为什么不呢?
谢谢,
巴里答案 0 :(得分:13)
是的,你可以。
你有这个功能
void DoSth(/*const*/Circle& c)
{
///
}
你有这个指针
/*const*/ Circle* p = /*...*/;
你这样称呼它
DoSth(*p);
我建议您阅读a good C++ book。这是非常基本的东西。
答案 1 :(得分:4)
如果您提供一些问题代码会更容易。但基本上它会像这样工作:
void func(Circle& circle) {
// do something
}
...
Circle *pCircle = new Circle();
func(*pCircle);
答案 2 :(得分:3)
只要在引用仍在使用时指针没有被销毁,它就可以了。
int *p = new int;
int &r = *p;
答案 3 :(得分:3)
是的,你可以,只需取消引用指针,例如:
void functionToCall(Circle &circle);
//in your code:
Circle *circle = new Circle();
functionToCall(*circle);