怎么解决 error C2664

XURUIHU 2012-08-20 09:17:30
我写了一个程序,总是出现error c2664,请各位高手帮忙解决一下。程序如下:
#include <string.h>
#include <winsock.h>
#include <stdio.h>
#include <windows.h>
#include <errno.h>
#include <stdlib.h>

const int SRVER_PORT=3333;
const int MAX_ACCEPT=10;

void main()
{
int sockfd;
int client_fd;

struct sockaddr_in my_addr;
struct sockaddr_in renote_addr;

int sin_size=0;

char * msg="欢迎登陆";

if((sockfd=socket(AF_INET,SOCK_STREAM,0))==-1)
{
printf("socket create error\n");
exit(1);
}
my_addr.sin_family=AF_INET;
my_addr.sin_port=SRVER_PORT;
my_addr.sin_addr.s_addr=INADDR_ANY;
memset(&(my_addr.sin_zero),0,0);

if (bind(sockfd,(struct sockaddr*)&my_addr,sizeof(struct sockaddr))== -1)
{
printf("socket bind error\n");
exit(1);
}
if(listen(sockfd,MAX_ACCEPT)== -1)
{
printf("sockfd listen error\n");
exit(1);
}
while (1){
sin_size =sizeof(struct sockaddr_in);
client_fd=accept(sockfd,(struct sockaddr*) & renote_addr,&sin_size);
if (client_fd==-1){
printf("socket accept error\n");
continue;
}
if(send(&client_fd,msg,strlen(msg),0)== -1){
printf("socket send error\n");
closesocket(client_fd);
exit(0);
}
closesocket(client_fd);

}
}
...全文
99 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
tragedyhomeland 2012-08-21
  • 打赏
  • 举报
回复
把最后一个if中的条件if(send(client_fd,msg,strlen(msg),0)== -1)中的地址符号去掉!

64,653

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧