C erreur de compilation: taux de déclaration ou de déclaration à la fin de l'entrée

Lorsque j'essaie de compiler mon code j'obtiens trois erreurs tout en précisant
"erreur: taux de déclaration ou de déclaration à la fin de l'entrée"
Tous reliés à la même ligne. Les changements de ligne en fonction des sections que j'ai commenté. Le moins de code, je peux partir, encore en fonction, tout en obtenant l'erreur est la déclaration de lignes en haut de la fonction.

Toutes les autres solutions point-là n'étant pas un crochet fermé quelque part, mais j'ai cherché et ne peut pas en trouver un.

Toute aide serait appréciée.

void get_agents(struct Base* s) {
int count;
char c = 'A'; //temp char declartion
char temp1, temp2;
char *file, *extra, *line;

line = malloc(sizeof(char)*128); 
file = malloc(sizeof(char)*256); 
extra = malloc(sizeof(char)*256); 

s->agentfile = fopen(s->agentfilename, "r");
while (c != EOF) {
    fgets(line,500,s->agentfile);
    c = line[0]; //gets first char from line
    if (c != '#') {
        struct Agent* newAge = malloc(sizeof(struct Agent));
        struct Agent* agentNum = malloc(sizeof(struct Agent));

        newAge->next = 0; 
        sscanf(line, "%d %d %c %s%c%s%c", &newAge->posx, &newAge->posy,
        &newAge->name, file, &temp1, extra, &temp2);

        agentNum = s->start //sets agentNum to the first agent in list
        if (agentNum == NULL) { //does first agent exist?
            s->start = newAge; //first agent in list
        } else {
            while (agentNum->next) { //is this not the last agent?
                agentNum = agentNum->next; //get the next agent
            }
            agentNum->next = newAge; //else, set newagent to be new last
        }
    }
}
}
  • malloc renvoie un pointeur void. Vous avez besoin de jeter le pointeur (struct Agent *)
  • Pas en C ne jette pas d'adresse retournée par malloc/calloc
  • void pointeur peut être attribué à un pointeur. Dans ce cas cast n'est Pas nécessaire dans C
  • OUI malloc retourne void pointeur c'est pourquoi vous ne devriez pas catalogué c'.
  • read très bonne réponse.
  • Vrai dat. Putain C et C++ 😛
  • en C++, ne pas utiliser malloc/calloc utilisation new à la place.

InformationsquelleAutor sparcloud32 | 2013-09-24