我正在创建一个程序,该程序创建两个对象,并将它们向下通过带有许多选项的大菜单传递。我一直使用的将参数作为参数传递的解决方案是创建一个指向对象的指针。但是,我遇到一个问题,如果我使用指向对象的指针作为参数,则会出现编译器错误。显然有一个我不在考虑的c++约定。
void runMainMenu(Point** ptrPtrPoint)
{
.
.
*ptrPtrPoint->displayCoord();
.
}
据我所知,该操作应该是可能的,但是由于错误“表达式必须具有指针到类的类型(当将间接操作符与指向a的指针一起使用时,应该具有指针类型),该操作将立即被接受。类)将指针传递给对象的指针并访问成员函数的正确格式是什么?
最佳答案
您已成为operator precedence的受害者。
首先取消引用以获得Point*
,然后使用->
(*ptrPtrPoint)->displayCoord();
编译器将原始代码读取为
*(ptrPtrPoint->displayCoord());
关于c++ - C++将指针传递给对象的指针,无法访问成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59990780/