當我嘗試構建包含.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
那麼這些語法錯誤是什麼呢?我爲我的標題發佈了代碼。 –