[英]C++ Error this declaration has no storage class or type specifier
我正在嘗試為UDP套接字連接的select(int, fd_set, fd_set)
函數設置超時。
當我設置第二個和第二個變量時,出現錯誤,此聲明沒有存儲類或類型說明符 。
這是代碼
#define UTIMER 300000
#define STIMER 0
struct timeval timeouts;
timeouts.tv_sec=STIMER; // <-- ERROR HERE
timeouts.tv_usec=UTIMER; // <-- ERROR HERE
問題是您尚未#include
d定義了timeval的標頭。 struct timeval timeouts
本質上是一個原型聲明。 它為編譯器提供了足夠的信息,以使其知道變量的存在,並允許您在指針操作中使用它,以及有關指針的類型信息(它指向struct timeval
)。
但是它還不知道它的內部是什么樣。
如果是Windows,則需要#include <Winsock2.h>
; Linux #include <sys/time.h>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.