首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法在非成员函数中调用成员函数

无法在非成员函数中调用成员函数
EN

Stack Overflow用户
提问于 2019-09-23 15:16:34
回答 1查看 48关注 0票数 0

我有一个类,它有一个成员函数,我想在一个非成员函数中调用这个成员函数。

代码语言:javascript
运行
复制
void mouseEvent(int evt, int x, int y, int flags, void* param);
class CMainClass
{

private:
// Xcoordinate of the click event
     int Xcoordinate;
public:
// Xcoordinate get method
         int CMainClass::GetXcoordinate()
         {
          return Xcoordinate;
         }

// Xcoordinate set method
         void CMainClass::SetXcoordinate(int newVal)
         {
           CMainClass::Xcoordinate = newVal;
         }

};


void mouseEvent(int evt, int x, int y, int flags, void* param)
{
      CMainClass::SetXcoordinate(x);

}

C++非静态成员引用必须相对于特定对象

EN

回答 1

Stack Overflow用户

发布于 2019-09-23 19:15:17

忽略代码中不相关的问题,您正在调用成员函数而不创建对象。

在mouseEvent中,您需要使用对象来调用SetXcoordinate。

代码语言:javascript
运行
复制
void mouseEvent(int evt, int x, int y, int flags, void* param)
{
    //CMainClass obj();
    obj.SetXcoordinate(x);
}

如果您在其他地方创建对象,则对象创建不必在相同的函数中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58057382

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档