我正在使用 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'
我的“测试”函数的返回类型为 void。从逻辑上讲,不能将 void 类型的右值分配给“WWidget*”类型的参数。
但是如果他们在文档中显示that示例,为什么我不能这样做?
那个:
examples->addTab(chartExample(), "Charts");
感谢您的帮助!
但是如果他们在文档中显示了该示例,为什么我不能这样做?
他们的示例函数返回一个小部件,所以你应该这样做:
Wt::WWidget* test()
{
Wt::WText *text = new Wt::WText("This is a test tab text");
return text;
}