SoloCodigo
Programación General => C/C++ => Mensaje iniciado por: picope en Miércoles 4 de Agosto de 2010, 01:36
-
quería saber como resolver esto:
typedef struct {
node_t* prev;
void* data;
node_t* next;
}node_t;
[DEV C me dice: syntax error before "node_t"]
no puedo hacer un nodo que apunte a otros nodos porque no reconoce el tipo de dato :brickwall: ...
hay alguna sintaxis que funcione? espero ayuda, desde ya gracias
-
Debes definir node_t antes de usarlo como tipo, la manera correcta seria:
typedef struct node_t {
node_t* prev;
void* data;
node_t* next;
} node;
-
Debes definir node_t antes de usarlo como tipo, la manera correcta seria:
typedef struct node_t {
node_t* prev;
void* data;
node_t* next;
} node;
Gracias por tu ayuda! pero tampoco compila :ouch: , así que urgando por ahí me encontré con la solución.. este es el código que a mi me funcionó:
typedef struct node{
struct node* prev;
void* data;
struct node* next;
} node_t;
-
Creo que el problema se debio a que era un archivo de C y no de C++, porque el codigo lo probe en C++ y si funcionaba, ya que siempre pruebo mis codigos antes de publicarlos.
En mi caso lo puse en un archivo con extension .cpp y funcionaba sin anteponer el struct dentro de la estructura, pero tu lo tenias en un archivo con extencion .c y dado que Dev-C o mas especificamente, mingw, que es en realidad el compilador, elige que compilador utiliza (C o C++) en base a le extencion del archivo, es por eso que marco error.
Pero si pruebas el codigo en un achivo con extencion .cpp compilara correctamente.
Saludos :)