首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

如何解决 error C2664

2012-09-25 
怎么解决 error C2664我写了一个程序,总是出现errorc2664,请各位高手帮忙解决一下。程序如下:#include str

怎么解决 error C2664
我写了一个程序,总是出现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);

}
}


[解决办法]
把最后一个if中的条件if(send(client_fd,msg,strlen(msg),0)== -1)中的地址符号去掉!

热点排行