2012-01-06 49 views
1

我安装Eclipse和使用MinGW的编译器使用这些教程打造的wxWidgets:类型“wxMenuBar”必须实现继承纯虚方法“wxMenuBarBase :: GetLabelTop”

http://max.berger.name/howto/wxWidgets/wxWidgets_Eclipse.jsp

当我尝试运行它编译和构建程序的wx hello world程序,它实际上工作。但是Eclipse是给我的错误:

The type 'wxMenuBar' must implement the inherited pure virtual method 'wxMenuBarBase::GetLabelTop'

在该行:

wxMenuBar *menuBar = new wxMenuBar(); 

是我的环境太苛刻?或者我怎样才能实现一个纯粹的虚拟方法?

+0

我注意到右击错误在Eclipse“问题”窗格让我能够改变这个错误报告为警告。但我不知道这是否是一个好主意。 – Pete 2012-01-06 13:02:06

回答

1

好像你的wxWidgets源代码有问题。

在wxwidgets安装文件夹中搜索文件menu.cpp。它应该包含的代码是这样的:

wxString wxMenuBar::GetLabelTop(size_t pos) const 
{ 
    wxCHECK_MSG(pos < GetMenuCount(), wxEmptyString, 
       wxT("invalid menu index in wxMenuBar::GetLabelTop")); 

    return wxMenuItem::GetLabelFromText(m_titles[pos]); 
} 
相关问题