【发布时间】:2015-10-08 15:27:30
【问题描述】:
我知道这似乎是一个非常基本的问题,但实际上它并不明显,因为它使用了指针、范围和 GTK 特定类型的变量等。我真的找不到答案。
我必须将 Gtkmm 程序的 GUI 相关部分划分为函数,但似乎有问题。
为了说清楚,这里举个例子,CODE1.cpp中有WORKING代码,必须分成类似于CODE2.cpp的东西(还没有工作)。
第一个是只包含一个标签的窗口,第二个是一样的,但是标签是在函数内部创建的。
错误在哪里?什么不见了?任何提示或帮助将不胜感激。
提到的代码如下:
CODE1.cpp:
#include <gtkmm.h>
int main (int argc, char *argv[])
{
Glib::RefPtr<Gtk::Application> app = Gtk::Application::create(argc, argv, "Ejemplo");
Gtk::Window ventana;
Gtk::Label labela;
labela.set_text("perrito");
ventana.add (labela);
ventana.show_all ();
return app->run(ventana);
}
CODE2.cpp:
#include <gtkmm.h>
Gtk::Label etiqueta (string x)
{
Gtk::Label labela;
labela.set_text(x);
return ( labela );
}
int main (int argc, char *argv[])
{
Glib::RefPtr<Gtk::Application> app = Gtk::Application::create(argc, argv, "Ejemplo");
Gtk::Window ventana;
etiqueta("perrito");
ventana.add (labela);
ventana.show_all ();
return app->run(ventana);
}
【问题讨论】:
-
如果我提出问题的方式有问题,请在评论中告诉我。没有理由的投反对票根本没有帮助。
-
你试过编译吗?
-
第一个编译完美,第二个不工作......这就是我寻求帮助的原因。
-
您能发布编译器发出的任何消息吗?
-
另外,仅仅说“不起作用”会让人们很难帮助你。我们不知道您在运行构建的代码时是否遇到了一些编译问题或问题。
标签: c++ function variables scope gtkmm