PDA

Visualizza la versione completa : [C++] Includere file header ed errore di sintassi


mbistato
08-10-2011, 14:16
Salve a tutti. Ho un piccolo problema con la modularizzazione del mio codice C.
In sostanza ho implementato una funzione da includere nel mio main con l'istruzione
#include "evpop.h" , ho creato quindi il file evpop.h cosi fatto:

void evpop(chrom* popcurrent);
e il file evpop.c cosi fatto:

void evpop(chrom* popcurrent) { for(int i=0;i<DIM_POP;i++) { generatePoint(popcurrent[i].point); popcurrent[i].fit=calculateFitness(popcurrent[i].point[0],popcurrent[i].point[1]); //printf("\npopcurrent[%i]=(%lf, %lf)", i, popcurrent[i].point[0],popcurrent[i].point[1]); //printf("\tfitness = %lf",popcurrent[i].fit); } }

quando però compilo si generano i seguenti errori:
syntax error before '*' token
nel file evpop.h
e l'errore
In file included from "nome del progetto creato".c
alla linea dove scrivo

#include "evpop.h"

qualcuno mi sa dire che vuol dire?

oregon
08-10-2011, 15:48
Vuol dire che il compilatore non sa cosa sia

chrom

mbistato
08-10-2011, 17:57
chrom l'ho così dichiarato nel preambolo del file principale ovvero prima del main:


typedef struct{ double point[2]; double fit; }chrom;

Dove o come la devo definire se così non la riconosce?

oregon
08-10-2011, 18:45
Dove l'hai messa?

mbistato
08-10-2011, 19:00
L'ho messa nel preambolo del file principale dopo che includo tutti i file header e prima del main

oregon
08-10-2011, 19:03
Per favore, puoi mostrare il codice così evitiamo di fare 20 post ...?

In pratica, l'hai messa prima dell'include o dopo? Per funzionare, deve stare prima ... o meglio, nell'include prima dell'errore ...

Loading