使用std :: function时出错(没有成员的类“notify”)

时间:2015-02-19 12:08:07

标签: c++ c++11 visual-studio-2013

我想通知另一个类变量已更改,以便我使用名为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);
};

我尝试过使用模板,但它不起作用。请撇开我的麻烦,欢迎提出任何建议。谢谢。

0 个答案:

没有答案