Тема: wxStaticBoxSizer та контейнер vector
Намагаюся створити декілька динамічних wxStaticBox у вікні.
Для цього використовую вектори з вказівниками на wxStaticBox і wxStaticBoxSizer.
Вектор із wxStaticBox* створюється нормально,
а коли доходить справа до вектора із wxStaticBoxSizer* виникає помилка:
ASSERT INFO:
/usr/src/debug/wxwidgets/wxWidgets-3.2.2.1/src/common/sizer.cpp(2759): assert "box" failed in wxStaticBoxSizer(): wxStaticBoxSizer needs a static box
BACKTRACE:
(null)
Ось код:
map<wxString, tuple<wxString, wxString, wxString, wxString>> general_dict;
vector<wxStaticBox*> result_static_box_labels {nullptr};
vector<wxStaticBoxSizer*> result_static_box_sizers {nullptr};
void MainFrame::show_search_result(map<wxString,
tuple<wxString, wxString, wxString, wxString>>& gen_dict)
{
for (auto i: gen_dict)
{
wxString dict_name = get<0>(i);
result_static_box_labels.push_back(new wxStaticBox(result_scrolled_window,
wxID_ANY,
dict_name,
wxDefaultPosition, wxDefaultSize));
}
for (auto i: result_static_box_labels)
{
result_static_box_sizers.push_back(new wxStaticBoxSizer(i, wxVERTICAL));
}
}
Компілятор працює без помилок, помилка з'являється при спробі запуску програми.