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

时间:2012-04-18 19:57:02

标签: c

我一直警告:控制到达非空虚功能的结束'使用此代码:

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);
}   

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

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

我怎样摆脱这个警告?

感谢。

1 个答案:

答案 0 :(得分:6)

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

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