繁体   English   中英

无法在非成员 function 中调用成员 function

[英]Can't call Member function in a non member function

我有一个 class 并且它有一个成员 function 并且我想在非成员 function 中调用该成员 function

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++ 非静态成员引用必须相对于特定的 object

忽略与您的代码无关的问题,您正在调用成员 function 而不创建 object。

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

void mouseEvent(int evt, int x, int y, int flags, void* param)
{
    //CMainClass obj();
    obj.SetXcoordinate(x);
}

如果您在其他地方创建了 object,则不必在同一个 function 中创建它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM