J'ai ce fichier d'en-tête ... pour une raison quelconque, je reçois une erreur disant log_server.h:48: erreur: identifiant ou ‘(’ attendu avant une constante numérique
Je reçois cette erreur sur les deux lignes définissant les fonctions put_evt et print_evt_list, voici à quoi ressemble le code :
#ifndef _GENERIC
#define _GENERIC
#include
#include
#include
#include
#include
#endif
#ifndef _NETWORKING
#define _NETWORKING
#include
#include
#include
#include
#include
typedef struct sockaddr SA;/* Pour rendre la conversion dans (bind, recvfrom, sendto) plus lisible */
#endif
#define LOGIN_EVT 0
#define LOGOUT_EVT 1
#define RECV_MSG 27
#define SEND_MSG 64000
#define MAX_EVT_COUNT 3000
struct evt{
char user_name[8];
int type;
long int time;
};
/* ouvrir le fichier journal pour ajouter les événements à sa fin
* renvoie 0 en cas de réussite et -1 en cas d'échec (le fichier n'a pas pu être ouvert)
*/
int init_log(const char *log_fname);
/* ferme le fichier journal
* renvoie 0 en cas de réussite et -1 en cas d'échec (le fichier n'a pas pu être ouvert)
*/
int terminate_log();
/* ajouter un nouvel événement dans le fichier journal
* renvoie 0 en cas de réussite et -1 en cas d'échec
*/
int put_evt(struct evt *e);
/* obtenir la liste des événements survenus après l'heure donnée
* count est la taille de la liste e allouée et passée
* renvoie le nombre d'événements trouvés en cas de réussite et -1 en cas d'échec
*/
int get_events(struct evt *e_list, long int time);
/* imprimer les informations de l'événement donné (nom, heure) */
void print_evt(struct evt *e);
/* imprimer les informations de "compte" événements à partir des informations de la liste e données (nom, heure) */
void print_evt_list(struct evt *e_list, int count);
/* startListen prend un numéro de port et renvoie un descripteur d'écoute en cas de succès ou un nombre négatif en cas d'erreur */
int startListen(int port);
/* Responsable de la gestion des messages reçus des clients et de leur réponse en conséquence
si le message est une action effectuée, il sera enregistré dans le fichier journal et informera le client
si le message est une requête sur les événements, il appellera la fonction privée queryHandler(); pour le gérer
renvoie un nombre négatif en cas d'ERREUR */
int handle_message(int sockDescriptor, struct sockaddr_in *client, char *recvMessage);
J'ai lu que cette erreur peut être causée par le fait d'avoir une directive de prétraitement écrite sur plus d'une ligne ... mais je ne l'ai pas. Une idée de ce que je fais de mal?