Кажется, у меня проблема с проектом wxWidgets, над которым я работаю. Я все время получаю ошибку компоновщика vtable для класса, который не задействует какие-либо виртуальные функции. Мне было интересно, может ли кто-нибудь пролить свет на эту проблему, поскольку, как я понимаю, не должно быть vtable для класса, который не использует виртуальные функции. Большинство подобных тем, которые я видел, возникают, когда кто-то забывает определение деконструктора, но я почти уверен, что деконструктор был определен правильно. ошибки можно увидеть ниже.
||=== Hike Planner GUI, Debug ===|
obj\Debug\GUIFrame.o||In function `PlanWindow':|
E:\Projects\Hike Planner GUI\GUIFrame.cpp|76|undefined reference to `vtable for PlanWindow'|
E:\Projects\Hike Planner GUI\GUIFrame.cpp|76|undefined reference to `vtable for PlanWindow'|
obj\Debug\GUIFrame.o||In function `~PlanWindow':|
E:\Projects\Hike Planner GUI\GUIFrame.cpp|81|undefined reference to `vtable for PlanWindow'|
E:\Projects\Hike Planner GUI\GUIFrame.cpp|81|undefined reference to `vtable for PlanWindow'|
E:\Projects\Hike Planner GUI\GUIFrame.cpp|81|undefined reference to `vtable for PlanWindow'|
||=== Build finished: 5 errors, 0 warnings ===|
сегмент из GUIFrame.h
class PlanWindow : public wxWindow
{
DECLARE_EVENT_TABLE()
public:
PlanWindow(wxWindow* parent, wxWindowID id);
~PlanWindow();
void GetLocationList(int RetCode);
wxListBox *PlanList;
};
Сегмент из GUIFrame.cpp:
PlanWindow::PlanWindow(wxWindow* parent, wxWindowID id) : wxWindow(parent,id)
{
}
PlanWindow::~PlanWindow()
{
}
void PlanWindow::GetLocationList(int RetCode)
{
if(RetCode == DEST)
{
}
else if(RetCode == TH)
{
}
else if(RetCode == FREE)
{
}
else
{
}
}
любая помощь была бы замечательной. ошибки возникают в определениях конструктора и деструктора.
wxWindow
, например его dtor виртуальный, потому что он виртуален вwxWindow
. - person VZ.   schedule 26.07.2013