2012-04-18 51 views
2

我不断收到“警告:控制到达非void函数的终结”与此代码:警告:控制到达非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); 
} 

当我编译上面的代码中,我得到警告(即控制达到非无效功能结束):

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

如何摆脱此警告?

谢谢。

回答

6

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

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