麻烦大家帮忙看看error C2064: 项不会计算为接受 4 个参数的函数错误
代码:
#include "stdafx.h"
#include <Winsock2.h>
#include <stdio.h>
#include <atlstr.h>
#include<iostream>
#include<stdlib.h>
using namespace std;
void f(int in[8],char *res[8])
{
char** result =new char*[8];
for(int i=0;i<8;++i)
{
result[i] = new char [5];
strcpy_s(result[i],5,"");
}
for(int i=0;i<8;i++)
{ char resulta[5]={0,0,0,0,0};
resulta[0]='0';
resulta[1]='x';
if((in[i]>>4)<10)
{
resulta[2]=(in[i]>>4)+'0';
}
else
{
resulta[2]=(in[i]>>4)-10+'A';
}
if((in[i] & 0x0F)<10)
{
resulta[3]=(in[i] & 0x0F)+'0';
}
else
{
resulta[3]=(in[i] & 0x0F)-10+'A';
}
resulta[4]=0;
strcat_s(result[i],5,resulta);
}
for ( int j=0;j<8;++j )
{
res[j]=result[j];
}
}
int main(int argc, char* argv[])
{
char *Recv[119]={"0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","苏","川","鲁","粤","浙","闽","晋","鄂","皖","京","黑","冀","津","宁","吉","辽","陕","云","湘","新","沪","豫","赣","桂","渝","甘","蒙","贵","青","藏","琼","港","澳","台","领","使","警","学","挂","试","超","军","空","海","北","沈","兰","济","南","广","成","备","消","边","通","林","金","电","境","演","习","甲","乙","丙","丁","戊","己","庚","辛","壬","癸","子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥"};
char *send[8]={"3","苏", "B", "2", "M", "3", "4", "5"};
int C[8];
for (int i=0;i<8;i++)
{
for (int j=0;j<119;j++)
{
if (*send[i]==*Recv[j])
{
C[i]=j;
break;
}
}
}
for(int k=0;k<8;k++)
cout<<C[k]<<endl;
char *rev[8]={0,0,0,0,0,0,0,0};
f(C,rev);
for ( int j=0;j<8;++j )
{
cout<<rev[j]<<endl;
}
WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD( 1, 1);
err = WSAStartup(wVersionRequested, &wsaData);
if( err != 0)
{
return 1 ;
}
if( LOBYTE( wsaData.wVersion) != 1 || HIBYTE( wsaData.wVersion) !=1 )
{
WSACleanup();
return -2;
}
SOCKET sockSrv = socket(AF_INET, SOCK_STREAM, 0);
SOCKADDR_IN addrSrv;
addrSrv.sin_addr.S_un.S_addr = htonl(INADDR_ANY);
addrSrv.sin_family = AF_INET;
addrSrv.sin_port = htons(55543);
bind(sockSrv, (SOCKADDR*)&addrSrv, sizeof(SOCKADDR));
listen(sockSrv, 5);
SOCKADDR_IN addrClient;
int len = sizeof(SOCKADDR);
while(1)
{
SOCKET sockConn = accept(sockSrv, (SOCKADDR*)&addrClient, &len);
//char sendBuf[8]={0x01, 0x24, 0x0B, 0x02, 0x16, 0x03, 0x04, 0x05};
send( sockConn, rev, 8, 0 );
char recvBuf[100];
recv( sockConn, recvBuf, 100, 0 );
closesocket(sockConn);
}
system("PAUSE");
return 0;
}
发送8位16进制数到串口的程序,编译的时候提示error C2064: 项不会计算为接受 4 个参数的函数,麻烦帮忙看看哦。