1

构建项目时出现此错误

D:/codelite_workspace/Easy_GO2/main_frame.cpp:48: 错误: 'wxMyListNode' 没有被声明

这是我的main_frame.h

#ifndef MAIN_FRAME_H
#define MAIN_FRAME_H

#include <panels.h>
#include <choose_tree.h>
#include "quicksearch.h"
#include "dealer_data2.h"
#include <wx/wxprec.h>
#include <wx/panel.h>
#include <wx/menu.h>
#include <wx/list.h>

class Main_Frame : public wxFrame{
public:
    Main_Frame(const wxString& title);

    Insert *insert_panel;
    All *view;
    quickSearch *q;
    Choose_Tree *choose;
    wxPanel *parent;
    wxBoxSizer *hbox;
    wxMenuBar *menubar;
    wxMenu *file;

    WX_DECLARE_LIST(Dealer_Data2, MyList);
    WX_DECLARE_HASH_MAP(wxString, MyList, wxStringHash, wxStringEqual, MyHash);

    MyHash h1;
    int currentPanel;

};

    const int INSERT_PANEL = 110;
    const int VIEW_PANEL = 111;
    const int QUICK_SEARCH = 112;

    const int CURRENT_INSERT = 1;
    const int CURRENT_ALL = 2;

#endif

main_frame.cpp

#include "main_frame.h"
#include <wx/listimpl.cpp>

WX_DEFINE_LIST(MyList);

Main_Frame::Main_Frame(const wxString& title)
       : wxFrame(NULL, wxID_ANY, title, wxDefaultPosition, wxSize(1600, 750))
{
    parent = new wxPanel(this, wxID_ANY);
    hbox = new wxBoxSizer(wxHORIZONTAL);

    //choose = new Choose_Tree(parent);
    insert_panel = new Insert(parent);
    view = new All(parent);

    insert_panel->dealer_id->Append(wxT("1- Test"));
    insert_panel->dealer_id->Append(wxT("2- wahba"));
    insert_panel->dealer_id->Append(wxT("3-  Ahmed"));
    insert_panel->dealer_id->Append(wxT("4- Mohamed"));

    currentPanel = CURRENT_INSERT;
    //hbox->Add(choose, 1, wxEXPAND | wxALL, 5);
    hbox->Add(insert_panel, 1, wxEXPAND | wxALL, 5);

    view->Hide();
    insert_panel->Show();

    parent->SetSizer(hbox);

    //GetSizer()->Layout();

    menubar = new wxMenuBar;
    file = new wxMenu;
    file->Append(INSERT_PANEL, wxT("&Insert"));
    file->Append(VIEW_PANEL, wxT("&All"));
    file->Append(QUICK_SEARCH, wxT("&Quick Search"));

    menubar->Append(file, wxT("&File"));
    SetMenuBar(menubar);

    this->Centre();

}

有什么帮助吗?我会很感激。:)

4

1 回答 1

0

这里是如何使用 WX_DEFINE_LIST 的描述

http://docs.wxwidgets.org/2.8/wx_wxlist.html

你写

WX_DEFINE_LIST(MyList);

但是您还没有在任何地方定义 MyList !

于 2012-07-11T11:56:36.130 回答