如何将指针(Object *ob
)传递给原型为void foo(Object &)
的函数?
答案 0 :(得分:171)
这样称呼:
foo(*ob);
请注意,此处没有正在进行的转换,如问题标题中所示。我们所做的只是取消引用指向对象的指针,然后我们将其传递给函数。
答案 1 :(得分:37)
foo(*ob);
你不需要抛出它,因为它是相同的Object类型,你只需要取消引用它。
答案 2 :(得分:-2)
将指针转换为对象的完整示例
class myClass
{
public:
void sayHello ()
{
cout << "Hello";
}
};
int main ()
{
myClass* myPointer;
myClass myObject = myClass(* myPointer); // Cast pointer to object
myObject.sayHello();
return 0;
}