加载套接字库出现有关问题

加载套接字库出现问题
#include<iostream>
#include<stdio.h>
 #pragma comment(lib,"ws2_32.lib")
using namespace std;

int main(){
//加载winsock库
WSAData wsadata;
int err;
err=WSAStartup(MAKEWORD(1,1),&wsadata);
if(err!=0);
return -1;

//创建一个新的套接字来监听客户机连接
SOCKET ListenSocket;
ListenSocket=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);

//用bind将socketaddr地址与套接字绑定起来
SOCKADDR_IN ServerAddr; 
int port=5150;
ServerAddr.sin_family=AF_INET;
ServerAddr.sin_port=htonl(port);
ServerAddr.sin_addr.s_addr=htonl(INADDR_ANY);

bind(ListenSocket,(SOCKADDR *)&ServerAddr,sizeof(SOCKADDR));

//监听客户机连接
listen(ListenSocket,5);

//接受新连接
SOCKET NewConnection;
SOCKADDR_IN ClientAddr;

//接收数据
char rebuff[100];
while(1){
NewConnection=accept(ListenSocket,(SOCKADDR *)&ClientAddr,(int *)sizeof(ClientAddr));
recv(NewConnection,rebuff,100,0);
cout<<rebuff<<endl;
}
closesocket(NewConnection);
closesocket(ListenSocket);

//释放资源
WSACleanup();
return 0;
}

返回值为-1 
------解决方案--------------------
引用:
GetLastError看看原因

错了, 用这个WSAGetLastError