Ayuda con estructura

Latrell
31 de Agosto del 2004
Hola a todos mi duda es que no me deja inicializar una variable dentro de una estructura.
typedef struct{
char nombre[];
char apellidos[]
int variable=0;
{struct tipo

Si igualo a 0 la variable me da error al compilar y necesito que valga 0.
Como lo hago?
Gracias

kamegeist
31 de Agosto del 2004
En ves de: int variable = 0;
Utilice: enum {variable = 0};

Alejandro_
31 de Agosto del 2004
En C++(no en C) las estructuras son equivalentes a las clases, así que también puedes definir un constructor de la estructura, e inicializar cualquier dato miembro desde su preámbulo. Por ejemplo:

struct Estructura {
Estructura() : variable(0) { }

int variable;
};

De este modo, para cada instancia de Estructura, el entero "variable" pasa a inicializarse con el valor 0.

Si necesitas darle un valor inicial a cada instancia de Estructura, también puedes usar su constructor:

struct Estructura {
Estructura(int v=0) : variable(v) { }

int variable;
};

Entonces, puedes crear distintas instancias de Estructura, con distintos valores iniciales de "variable":

Estructura e1(); // si no se dice lo contrario, e1.variable == 0

Estructura e2(10); // acá e2.variable == 10

// Alejandro

Alejandro_
31 de Agosto del 2004
Auch!

Cambia la línea:
Estructura e1(); // e1.variable == 0

por:
Estructura e1; // e1.variable == 0

// no van los paréntesis... me cache