这个错误是什么意思? error: expected expression before 'Addr'
typedef struct sockaddr_in Addr;
int main() {
WSADATA Winsock;
SOCKET Socket, Sub;
ZeroMemory(&Addr, sizeof(Addr)); // Error occurs here
return 0;
}
我添加了一条评论错误发生在。
答案 0 :(得分:2)
这样的事情可以解决你的错误:
typedef struct sockaddr_in Addr;
int main() {
WSADATA Winsock;
SOCKET Socket, Sub;
Addr addr;
ZeroMemory(&addr, sizeof(Addr));
return 0;
}
解释here。
答案 1 :(得分:2)
你实际上并没有创建一个你可以调用函数的变量,你只是typedef
一种适合你需要的变量。实际上,您需要声明该结构类型的变量才能使其正常工作。
像这样:
typedef struct sockaddr_in Addr; // Defining what a variable (struct) of type Addr is
int main() {
WSADATA Winsock;
SOCKET Socket, Sub;
Addr testAddr; // Actually declaring a variable of type Addr
ZeroMemory(&testAddr, sizeof(Addr));
return 0;
}