ANSI C编译错误:','标记之前的预期表达式

Dra*_*ton 1 c compiler-errors c89

在尝试编译我编写的一些代码时,我继续收到此错误,文件中的位置完全没有帮助.这使用gtk 2.0.

以下是我在编译时收到的内容:

charles @draton-generico:〜/ Documents/C89 $ gcc -xc -ansi -g bahbahbah.c -o bahbahbah pkg-config --cflags --libs gtk+-2.0

bahbahbah.c:在函数'main'中:

bahbahbah.c:28:1:错误:','令牌之前的预期表达式

以下是我试图编译的代码:

#include <stdio.h>
#include <stdlib.h>
#include <gtk/gtk.h>

#define EXIT_SUCCESS 0
#define EXIT_FAILURE 1

void closure(void)
{
    gtk_main_quit();
    printf("gtk_main_quit() has been called.\n");
}

void main(int argc, char* argv[])
{
    gboolean check = gtk_init_check(&argc, &argv);
    if (check == FALSE)
    {
        printf("Failed to initialize toolkit.\nTerminating.\n");
        exit(EXIT_FAILURE);
    }
    else
    {
        printf("Initialized toolkit.\n");
        GtkWidget* main_window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
        gtk_window_set_title((GtkWindow*)main_window, "BLAH");
        gtk_window_set_default_size((GtkWindow*)main_window, 700, 700);
        g_signal_connect(main_window, "delete-event", closure, void);
        gtk_widget_show(main_window);
        printf("Window created, sleeping in gtk_main().\n");
        gtk_main();
    }       
    printf("Exiting.\n");
    exit(EXIT_SUCCESS);
}
Run Code Online (Sandbox Code Playgroud)

请帮忙.:(

lou*_*xiu 5

在第28行使用NULL替换void.

g_signal_connect(main_window, "delete-event", closure, NULL);
Run Code Online (Sandbox Code Playgroud)