2012-01-06 59 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]); 
} 
相關問題