2009-07-28 16 views
0

qui est la façon dont je construis: gcc -o pkg-config --cflags --libs gtk+-2.0 spawn spawn_with_pipes.cg_slice_new n'accepte pas mon type struct

Dans l'extrait de l'exemple ci-dessous, je reçois une erreur: erreur de syntaxe avant « Data - il se réfère aux données = g_slice_new (données);

#include <gtk/gtk.h> 

typedef struct 
{ 
    /* Buffers that will display output */ 
    GtkTextBuffer *out; 
    GtkTextBuffer *err; 

    /* Progress bar that will be updated */ 
    GtkProgressBar *progress; 

    /* Timeout source id */ 
    gint timeout_id; 
}Data; 

data= g_slice_new(Data); //error here 

Répondre

3

Initalisers en dehors d'une fonction doivent être des expressions constantes Vous ne pouvez pas appeler une fonction dans les

en outre, la variable « données » dans votre code.. est un int et le retour de g_slice_new est un gpointer

Vous devez modifier la définition de « données » et déplacer l'initialisation en principal:

gpointer data; 

int main(int argc, char *argv[]) 
{ 
    ... 
    data = g_slice_new(Data);