对象的对象内的 C++ 调用成员函数

Posted

技术标签:

【中文标题】对象的对象内的 C++ 调用成员函数【英文标题】:C++ Call Member Function Within An Object of an Object 【发布时间】:2012-10-29 22:15:26 【问题描述】:

我有一个 C++ 类,简而言之,它的声明如下所示:

class Pico 
  ...
  Document document; // Custom Document class
  ...

稍后我调用Document 类的公共成员函数之一:

this->document->enableEditing();

但是,IntelliSense 会在this 下划线并指出“表达式必须具有指针类型”。我该怎么做才能解决这个问题?

【问题讨论】:

你是从 Pico 类方法中调用它吗? 是的,我是...... 【参考方案1】:

你想要

this->document.enableEditing();

Document 成员不是指针,因此您需要 . 代替 ->

【讨论】:

哇!没想到。大声笑谢谢,这很有帮助。【参考方案2】:

document 不是指针,所以不需要-> 运算符:

this->document.enableEditing();

事实上,在这种情况下,甚至没有必要明确地使用this。以下将做:

document.enableEditing();

【讨论】:

以上是关于对象的对象内的 C++ 调用成员函数的主要内容,如果未能解决你的问题,请参考以下文章