我在C編程方面比較新,特別是在socket編程方面,但我花了很多時間在這個問題上試圖幫助自己,並沒有找到任何東西,我希望有人能夠幫助。因此,這裏的問題(我只寫在那裏我有問題行)存儲在sockadrr_in結構中的類型不被識別
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <sys/time.h>
#include <errno.h>
#include <unistd.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
#include <arpa/inet.h>
typedef int SOCKET;
static const int SOCKET_ERROR = -1;
/*Variables initialisation*/
int32_t filtersize1=0;
int32_t filtersize2=0;
SOCKET sock;
unsigned int bytes_sent = 0;
int success = TRUE;
int erreur2=0;
int erreur3=0;
static char const *DEF_HOST_IP = "132.166.142.227"/* default target host address*/
static const unsigned short DEF_HOST_PORT = 15000; /* default target port */
struct sockaddr_in hostinfo;
/* Store TCP/IP parameters */
hostinfo.sin_family = AF_INET;
hostinfo.sin_addr.s_addr = inet_addr(*DEF_HOST_IP);
hostinfo.sin_port = htons(DEF_HOST_PORT);
我編譯時收到錯誤「預期的構造函數,析構函數或類型轉換之前的‘’令牌「,並在我填寫sockadrr_in結構(命名爲hostinfo)的行上我的猜測是代碼不會將sockadrr_in識別爲結構類型,或者不能識別存儲在此結構中的類型,但我已經在另一臺機器上使用過這個代碼,它正在工作。我確切地說,我已經嘗試過將結構設置爲零,而且我也遇到了同樣的問題。如果有人有解決方案,這將真的幫助我,因爲我不知道該怎麼嘗試了。提前致謝。
是函數體(如'main()')還是外部的代碼?如果在外面,這是無效的。 – Nim
不要在標題中添加「解決」之類的內容,而是選擇一個答案作爲接受的答案。如果沒有人適合,寫下你自己的答案並接受。因此我回滾了你最後的編輯。 – alk