C++ 尝试设置按钮时出现分段错误';lambda函数中的s标签

C++ 尝试设置按钮时出现分段错误';lambda函数中的s标签,c++,gtkmm,gtk4,C++,Gtkmm,Gtk4,我一直在尝试学习gtkmm4,但遇到了一个奇怪的运行时错误 我的代码: #包括 #包括 类MyWindow:公共Gtk::Window { 公众: MyWindow(); }; MyWindow::MyWindow() { 设置标题(“基本应用”); 设置默认大小(200200); Gtk::按钮按钮(“你好世界”); 按钮。设置标签(“测试”); 按钮。单击信号()。连接([&按钮]()->无效{ 按钮。设置标签(“测试!”); }); 设置子对象(按钮); } int main(int ar

我一直在尝试学习gtkmm4,但遇到了一个奇怪的运行时错误

我的代码:

#包括
#包括
类MyWindow:公共Gtk::Window
{
公众:
MyWindow();
};
MyWindow::MyWindow()
{
设置标题(“基本应用”);
设置默认大小(200200);
Gtk::按钮按钮(“你好世界”);
按钮。设置标签(“测试”);
按钮。单击信号()。连接([&按钮]()->无效{
按钮。设置标签(“测试!”);
});
设置子对象(按钮);
}
int main(int argc,char*argv[])
{
auto-app=Gtk::Application::create(“org.gtkmm.examples.base”);
返回应用程序->创建窗口并运行(argc、argv);
}
错误:

[1]    183029 segmentation fault (core dumped)

单击按钮时会发生此错误。

您有一个对本地
Gtk::button
变量的悬空引用,该变量在
MyWindow
的构造函数完成时被解构。尝试将
button
作为
MyWindow
类的成员变量。

您有一个对本地
Gtk::button
变量的悬空引用,该变量在
MyWindow
的构造函数完成时被解构。尝试将
按钮
设置为
MyWindow
类的成员变量。

lambda捕获对局部变量的引用。我不知道gtk,但我猜通过值捕获可以解决它?您的lambda捕获对局部变量的引用。我不知道gtk,但我想通过价值捕获可以解决它?好的捕获,经典!好球,经典!