c++ - C++将指针传递给对象的指针,无法访问成员

标签 c++ class object pointers

我正在创建一个程序,该程序创建两个对象,并将它们向下通过带有许多选项的大菜单传递。我一直使用的将参数作为参数传递的解决方案是创建一个指向对象的指针。但是,我遇到一个问题,如果我使用指向对象的指针作为参数,则会出现编译器错误。显然有一个我不在考虑的c++约定。

void runMainMenu(Point** ptrPtrPoint)
{
.
.
    *ptrPtrPoint->displayCoord();
.
}

据我所知,该操作应该是可能的,但是由于错误“表达式必须具有指针到类的类型(当将间接操作符与指向a的指针一起使用时,应该具有指针类型),该操作将立即被接受。类)将指针传递给对象的指针并访问成员函数的正确格式是什么?

最佳答案

您已成为operator precedence的受害者。

首先取消引用以获得Point*,然后使用->

(*ptrPtrPoint)->displayCoord();

编译器将原始代码读取为
*(ptrPtrPoint->displayCoord()); 

关于c++ - C++将指针传递给对象的指针,无法访问成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59990780/

相关文章:

javascript - 由于某种原因,使用过滤器过滤对象数组不起作用

javascript - Lodash 按值对深层对象进行排序和排序,而不丢失 key

c++ - Lambda 作为模板函数

java - scala 类中的 println 不会在 STDOUT 上显示输出

Python 修饰类中的方法和继承

ios - 从另一个类检索NSInteger属性的正确方法?

c++ - 可扩展的邻居循环

c++ - 如何从 clang 将编译器标志传递给 nvcc

c++ - GCC 中的表达式中间体(如果这就是它们的实际名称)

java - 这些实例化之间有什么区别?