读书人

下部这段C++代码什么意思 新手求教

发布时间: 2013-07-08 14:13:00 作者: rapoo

下面这段C++代码什么意思 新手求教

typedef
BOOL
(PASCAL FAR * LPFN_TRANSMITPACKETS) (
SOCKET hSocket,
LPTRANSMIT_PACKETS_ELEMENT lpPacketArray,
DWORD nElementCount,
DWORD nSendSize,
LPOVERLAPPED lpOverlapped,
DWORD dwFlags
);

[解决办法]
BOOL PASCAL FAR my_func1 (
SOCKET hSocket,
LPTRANSMIT_PACKETS_ELEMENT lpPacketArray,
DWORD nElementCount,
DWORD nSendSize,
LPOVERLAPPED lpOverlapped,
DWORD dwFlags


);
BOOL PASCAL FAR my_func2 (
SOCKET hSocket,
LPTRANSMIT_PACKETS_ELEMENT lpPacketArray,
DWORD nElementCount,
DWORD nSendSize,
LPOVERLAPPED lpOverlapped,
DWORD dwFlags
);

LPFN_TRANSMITPACKETS call_back;
call_back = &my_func1;
call_back( .....);//这时相当于调用my_func1
call_back = &my_func2;
call_back( .....);//这时相当于调用my_func2



[解决办法]
定义一个LPFN_TRANSMITPACKETS函数指针类型。
LPFN_TRANSMITPACKETS fn;
fn指向一个函数的入口地址。函数的返回类型是 FAR *,
参数表是(
SOCKET hSocket,
LPTRANSMIT_PACKETS_ELEMENT lpPacketArray,
DWORD nElementCount,
DWORD nSendSize,
LPOVERLAPPED lpOverlapped,
DWORD dwFlags


);

读书人网 >C++

热点推荐