erreur: spécificateurs de déclaration attendus ou ‘…’ avant la constante de chaîne

Est-ce que quelqu’un sait ce qui ne va pas avec ce morceau de code? Je ne vois pas comment trouver le problème parmi les questions comparables.

Le code est écrit en C et je continue à avoir cette erreur. J’ajoute -D SET_MIN_TEMP=5 -D Set_MAX_TEMP=30 à la ligne de compilation gcc pour vous assurer que le ifndefs doit être faux …

 #ifndef CONFIG_H #define CONFIG_H #include  #include  #include  #include  #ifndef RUN_AVG_LENGTH #define RUN_AVG_LENGTH 5 #endif #ifndef SET_MIN_TEMP printf("please set SET_MIN_TEMP \n"); #endif #ifndef SET_MAX_TEMP printf("please set SET_MAX_TEMP \n"); #endif typedef uint16_t sensor_id_t; typedef uint16_t room_id_t; typedef double sensor_value_t; typedef time_t sensor_ts_t; // UTC timestamp as returned by time() - notice that the size of time_t is different on 32/64 bit machine typedef struct { sensor_id_t id; sensor_value_t value; sensor_ts_t ts; } sensor_data_t; typedef struct { sensor_id_t sensor_id; room_id_t room_id; double running_avg[5]; sensor_ts_t timestamp; } sensor_node_t; #endif // CONFIG_H 

Vous ne pouvez pas utiliser d’appel de fonction ( printf ) en dehors d’une fonction. Vous devriez jeter un oeil à #error si vous voulez signaler des erreurs lors de la compilation …

Voir ici