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

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

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

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

this->document->enableEditing();

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

【问题讨论】:

  • 你是从 Pico 类方法中调用它吗?
  • 是的,我是......

标签: c++ visual-studio-2010 oop object member-function-pointers


【解决方案1】:

你想要

this->document.enableEditing();

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

【讨论】:

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

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

this->document.enableEditing();

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

document.enableEditing();

【讨论】:

    猜你喜欢
    • 2011-08-15
    • 2012-01-02
    • 1970-01-01
    • 2014-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多