Lorsque j'essaie de générer un projet C contenant des fichiers .c et .h, Visual Studio me donne des erreurs étranges, comme ceci est le code de mon en-tête (qui devrait être parfaitement fin):Visual Studio semble compiler les en-têtes en tant que fichiers .c
#ifndef _CLIENT_SOCKET_H_
#define _CLIENT_SOCKET_H_
#include "common.h"
#include "buffer.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef void* wsocket;
int socket_create(wsocket* sock, int port, const char* addr, struct sockaddr_in *s_addr); //This is line 28
int socket_connect(wsocket sock, struct sockaddr_in s_addr);
bool socket_recv_buffer(wsocket, buffer_t*);
bool socket_send_buffer(wsocket, buffer_t);
int socket_destroy(wsocket* sock);
#ifdef __cplusplus
}
#endif
#endif /* _CLIENT_SOCKET_H_ */
et je reçois des erreurs comme:
syntax error: missing '{' before '.'
ou
syntax error: '.'
à la fois à la ligne 28.
Il semble qu'il essaie de compiler l'en-tête comme s'il s'agissait d'un fichier .c, car il veut un corps pour la fonction et ainsi de suite. Avez-vous une idée de ce qui pourrait arriver?
Pl facilité ne pas poster des photos. Couper et coller le message d'erreur –
'.c' fichiers et' .h' fichiers sont la même langue; les fonctions peuvent être définies ou déclarées (avec ou sans corps) dans les deux. Vous avez une erreur de syntaxe réelle. – SLaks
Qu'est-ce que toutes ces erreurs de syntaxe alors? J'ai posté du code pour mon en-tête. –