当我尝试构建包含.c和.h文件的C项目时,Visual Studio给了我奇怪的错误,就像这是我的头文件的代码(它应该是完美的精):Visual Studio似乎将头文件编译为.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_ */
我得到这样的错误:
syntax error: missing '{' before '.'
在第28行或
syntax error: '.'
两个
它似乎试图编译标题,就好像它是一个.c文件,因为它需要一个函数体等。你有什么想法会发生什么?
P1缓解不张贴图片。剪切并粘贴错误消息 –
'.c'文件和'.h'文件是相同的语言;函数可以在两者中定义或声明(有或没有实体)。你有一个实际的语法错误。 – SLaks
那么这些语法错误是什么呢?我为我的标题发布了代码。 –