Я использую библиотеку Wt для записи на C++ веб-сайта. Я хотел бы использовать вкладки на этом веб-сайте. Для этого я использую WTabWidget
.
В документации они делают вкладку и связывают каждую вкладку с функцией:
Wt::WTabWidget *examples = new Wt::WTabWidget(this);
examples->addTab(helloWorldExample(), "Hello World");
examples->addTab(chartExample(), "Charts");
examples->addTab(new Wt::WText("A WText"), "WText");
Основываясь на этом, я написал следующее: WTabWidget *myTab = new WTabWidget(); myTab->addTab(test(), "Test Tab");
Но мой компилятор говорит мне:
error: cannot initialize a parameter of type 'Wt::WWidget *' with an rvalue of type 'void'
Моя функция "test" имеет тип возвращаемого типа void. Логика rvalue типа void не может быть назначена параметру типа "WWidget *".
Но если они показывают этот пример в документации, почему я не могу это сделать?
что: examples->addTab(chartExample(), "Charts");
Спасибо за вашу помощь!
Но если они показывают этот пример в документации, почему я не могу это сделать?
Их примерная функция возвращает виджет, поэтому вы должны сделать то же самое:
Wt::WWidget* test()
{
Wt::WText *text = new Wt::WText("This is a test tab text");
return text;
}