[英]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.