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

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

2013-07-08 
下面这段C++代码什么意思 新手求教typedefBOOL(PASCAL FAR * LPFN_TRANSMITPACKETS) (SOCKET hSocket,LPTR

下面这段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                               


    );

热点排行