2012-07-13 53 views
0

我是C++的新手,我試圖編譯這個應用程序,但是我收到一個錯誤:'語法錯誤:意外類型'P_HDR'。讓我知道如果你需要更多的代碼,這一切可以在http://www.binarytides.com/blog/raw-sockets-packets-with-winpcap/語法錯誤:意外的類型'P_HDR'

pseudo_header.source_address = inet_addr("1.2.3.4"); //forge it >:) srcip.s_addr; 
pseudo_header.dest_address = inet_addr("203.200.89.200"); 
pseudo_header.placeholder = 0; 
pseudo_header.protocol = IPPROTO_TCP; 
pseudo_header.tcp_length = htons(sizeof(TCP_HDR) + strlen(dump)); 
memcpy(&pseudo_header.tcp , tcphdr , sizeof TCP_HDR); 

unsigned char *seudo; 
    seudo = new unsigned char(sizeof P_HDR + strlen(dump)); 
memcpy(seudo, &pseudo_header, sizeof P_HDR); 
memcpy(seudo + sizeof P_HDR , data , strlen(dump)); 

此行被看作是錯誤

seudo =新的無符號字符(的sizeof P_HDR +的strlen(轉儲));

回答

2

可能是因爲您錯過了「P_HDR」之前的「TC」?

+0

當然,@退休忍者是正確的:括號(括號內)需要圍繞類型 – fork0 2012-07-13 07:46:08

+0

和P_HDR是一種(通過查看源) – fork0 2012-07-13 07:47:42

+1

根據我的經驗,知道規則是好的,但總是用括號更好,因爲它不會在你的辦公桌上引起一系列嚇壞人,你需要解釋它。 :) – 2012-07-13 08:08:55