C/Visual C - C error: is a pointer; did you mean to use '->'?

 
Vista:

C error: is a pointer; did you mean to use '->'?

Publicado por Marcos (1 intervención) el 17/11/2019 03:48:22
Hola en 2 dias tengo que entragar un trabajo y tengo un problema con un algoritmo en c, no esta funcionando correctamente y no encuentro el error, probablemente es un mal uso de punteros ya que no lo aprendi correctamente, si alguien puede explicarme que estoy haciendo mal le agradeceria el codigo es el siguiente:
Lo paso todo en un mismo codigo pero es una biblioteca separada en biblioteca.h donde estan las cabeceras, tipos y algunas variables y biblioteca.c donde estan las funciones.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
  //Registro con informacion de una pelicula
    enum generos {Action, Comedy, Adventure, Drama, Horror, SciFi, Fantasy, Animation};
    typedef enum {Color, BW}Tcolor;
    typedef struct{
    	char id[15];
    	char titulo[100];
    	char director[35];
    	enum generos genero;
    	char likes[10];
    	char cantidad_votantes[10];
    	char voto_promedio[5];
    	char anio[4];
    	char costo[15];
    	Tcolor color;
    }Movie;
 
    //LSE de Movie
    struct Nodo{
    	Movie pelicula;
    	struct Nodo *next;
    };
 
    //Puntero al primer elemento de la LSE
    typedef struct{
    	struct Nodo *head;
    }Lista;
 
    //Arreglo de peliculas con cantidad
    typedef struct{
    	 Movie peliculas[SIZE];
    	 int cant;
    }Arreglo;
 
    FILE *archivo;
    Lista *lista;
 
    void Inicializar(Lista **l){
    	*l=malloc(sizeof(struct Nodo));
    }
 
    void Insertar(Lista **l, Movie a){
    	Lista *aux=malloc(sizeof(struct Nodo));
    	aux->head->pelicula=a;
    	aux->head->next=l->head->next;
    	l->head->next=aux->head;
    }
 
    void DeTxtALista(Lista *l, FILE *f){
    	char auxGenero[15];
    	char auxColor[10];
    	Movie aux;
    	f=fopen("peliculas.txt","r");
    	if(f == NULL ) {
        printf("No fue posible abrir el archivo\n");
       }
 
    	fgets(aux.id, sizeof(aux.id), f);
    	fgets(aux.titulo, sizeof(aux.titulo), f);
    	fgets(aux.director, sizeof(aux.director), f);
    	fgets(auxGenero,(sizeof(auxGenero)), f);
    	if (strcmp(auxGenero, "Action") == 0){
    			aux.genero=Action;
    	}else if (strcmp(auxGenero, "Comedy") == 0){
    				aux.genero=Comedy;
    		}else if (strcmp(auxGenero, "Adventure") == 0){
    				aux.genero=Adventure;
    			}else if (strcmp(auxGenero, "Drama") == 0){
    					aux.genero=Drama;
    				}else if (strcmp(auxGenero, "Horror") == 0){
    					aux.genero=Horror;
    					}else if (strcmp(auxGenero, "SciFi") == 0){
    						aux.genero=SciFi;
    						}else if (strcmp(auxGenero, "Fantasy") == 0){
    								aux.genero=Fantasy;
    							}else if (strcmp(auxGenero, "Animation") == 0){
    									aux.genero=Animation;
    								}
    	fgets(aux.likes,(sizeof(aux.likes)), f);
    	fgets(aux.cantidad_votantes,(sizeof(aux.cantidad_votantes)), f);
    	fgets(aux.voto_promedio,(sizeof(aux.voto_promedio)), f);
    	fgets(aux.anio,(sizeof(aux.anio)), f);
    	fgets(aux.costo,(sizeof(aux.costo)), f);
    	fgets(auxColor,(sizeof(auxColor)), f);
    	if (strcmp(auxColor, "Color") == 0){
    			aux.color=Color;
    	}else if (strcmp(auxColor, "BW") == 0){
    				aux.color=BW;
    		}
    	Insertar(l, aux);
 
 
      fclose(f);
    }

el error que me lanza es: error: '*l' is a pointer; did you mean to use '->'?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Rodrigo
Val: 350
Bronce
Ha mantenido su posición en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

C error: is a pointer; did you mean to use '->'?

Publicado por Rodrigo (119 intervenciones) el 18/11/2019 03:02:02
Donde dice l->head reemplaza por (*l)->head.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar