我想通知另一个类变量已更改,以便我使用名为notify的回调。我是c ++语言的初学者,正在寻求最佳方法,我决定用std :: function来做。但它显示错误,因为回调类在另一个文件中,我无法访问notify函数。
77 IntelliSense:class" std :: function"具有 没有会员" notifyMsg" (...)ClientTs.cpp
ClientTS.cpp
cbClientTsFrm callbckFrmGUI;
void registercb(cbClientTsFrm fn){
callbckFrmGUI = fn;
}
....
// in another function:
callbckFrmGUI.notifyMsg(msgC);
ClientTS.h
class ClientTsFrm;
typedef std::function<void(const ClientTsFrm&)> cbClientTsFrm;
ClientTSFrm.h
class ClientTsFrm : public wxFrame
{
public:
explicit ClientTsFrm(LoginWarnings *warn, wxWindow *parent, wxWindowID id = 1, const wxString &title = wxT("TeamTranslate"),
const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
long style = wxCAPTION | wxSYSTEM_MENU | wxCLOSE_BOX | wxRESIZE_BORDER);
(....)
void notifyMsg(MessagePTR msg);
};
我尝试过使用模板,但它不起作用。请撇开我的麻烦,欢迎提出任何建议。谢谢。