1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Alocação dinamica de uma estrutura...

Discussão em 'Programação' iniciada por nobita6, 11 de Abril de 2009. (Respostas: 1; Visualizações: 1172)

  1. Boas,
    estou a tentar fazer uma alocação dinamica de uma estrutura deste tipo:

    typedef struct _infoconjDocentes {
    infoDocente docentes[CAPACIDADE];
    int numDocentes;
    } conjDocentes, *apConjDocentes;


    o tipo docentes que esta dentro da estrutura é caracterizado assim:

    typedef struct _infoDocente {
    int n_docente;
    char nome_docente[30];
    char email_docente[30];
    int n_avaliacoes;
    int classificacao[6];
    } infoDocente;


    Mas isso tambem não interessa muito...
    Em seguida crio a função:

    conjDocentes cria_lista(){
    apConjDocentes aux;
    aux=(apConjDocentes)malloc(sizeof(conjDocentes));
    if(aux==NULL)
    return NULL;
    return (conjDocentes)aux;
    }


    So que a alocação não resulta e aparece-me o seguinte erro...
    "converseion to non-scalar type requested", e eu ja me estou a passar com isto é que é desta maneira que a professora faz nas aulas, ou eu tou-me a enganar em algum promenor...
     
  2. http://lmgtfy.com/?q=conversion+to+non-scalar+type+requested&l=1
    É uma maneira de entenderes o erro que o compilador te dá.
    Tem a ver com o cast para (conjDocentes) que tas a fazer. Penso que podes tirar esse cast e mudar o tipo da funcao de conjDocentes para conjDocentes*.
    Ou entao:
    Código:
    typedef struct sConjDocentes {
               infoDocente docentes[CAPACIDADE]; 
               int numDocentes;    
    } ConjDocentes;
    
    ConjDocentes* cria_lista(){
          ConjDocentes *aux;
          aux=(ConjDocentes *)malloc(sizeof(ConjDocentes));
          if(aux==NULL)
             return NULL;
          return aux;                 
    }
    
     

Partilhar esta Página