我有一个类,它有一个成员函数,我想在一个非成员函数中调用这个成员函数。
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++非静态成员引用必须相对于特定对象
发布于 2019-09-23 19:15:17
忽略代码中不相关的问题,您正在调用成员函数而不创建对象。
在mouseEvent中,您需要使用对象来调用SetXcoordinate。
void mouseEvent(int evt, int x, int y, int flags, void* param)
{
//CMainClass obj();
obj.SetXcoordinate(x);
}如果您在其他地方创建对象,则对象创建不必在相同的函数中。
https://stackoverflow.com/questions/58057382
复制相似问题