[C con Clase] error de estructura a una estrucura igual :S
Steven Davidson
steven en conclase.net
Dom Jun 17 23:15:20 CEST 2007
Hola Rodrigo,
El pasado 2007-06-17 20:19:02, Rodrigo Lopez escribió:
RL> el programa es mas largo , copio la parte relevante al error
[CORTE]
RL> los dos warnings son generados por las dos respectivas
RL> indice->comienzo=ptrfichas;
RL> con el siguiente mensaje
RL> C:\Documents and Settings\JaMaikito\Escritorio\tpprogramacion.c(30) :
RL> warning C4133: '=' : incompatible types - from 'struct snodoprincipal *' to
RL> 'struct snodoprincial *'
RL> no entiendo , que tienen de incompatibles , se trata de estructuras iguales
Me temo que no son iguales. Si te fijas, el error es tipográfico: 'snodoprincipal' y 'snodoprincial'.
Defines la estructura 'snodoindex' de la siguiente forma:
typedef struct snodoindex
{
char letra;
struct snodoprincial *comienzo; // Aquí está el error
struct snodoindex *sig;
} tnodoindex;
Deberías escribir:
typedef struct snodoindex
{
char letra;
struct snodoprincipal *comienzo; // Ahora es correcto.
struct snodoindex *sig;
} tnodoindex;
Por cierto, sugiero hacer el cásting de 'void *' al puntero que necesites al usar 'malloc()'. Esto es,
indice = (tpuntero) malloc( sizeof(tnodoindex) );
...
ptrfichas = (tpunterofichas) malloc(sizeof( tnodoprincipal) );
...
Espero haber aclarado la duda.
Steven
Más información sobre la lista de distribución Cconclase