警告:控制到达非void函数的结尾(gtk)

我不停地使用以下代码获得’警告:控制到达非空函数的结尾’:

static show_message(GtkMessageType type, const char* text, const char* details) { GtkWidget *dialog; g_assert(text); dialog = gtk_message_dialog_new(NULL, DIALOG_FLAGS, type, GTK_BUTTONS_CLOSE, "%s", text); if (details) { gtk_message_dialog_format_secondary_text(GTK_MESSAGE_DIALOG(dialog), "%s", details); } gtk_dialog_run(GTK_DIALOG (dialog)); gtk_widget_destroy(dialog); } 

当我编译上面的代码时,我得到警告(即控制到达非void函数的结束):

 gui.c: warning: return type defaults to 'int' gui.c: In function 'show_message': gui.c: warning: control reaches end of non-void function 

我怎么能摆脱这个警告?

谢谢。

您需要将show_message()函数的返回值指定为void ,否则将其假定为int 。 像这样:

 static void show_message(GtkMessageType type, const char* text, const char* details) { /* ... */ }