说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

静态函数与类成员值之间如何传递?

编辑:说三道四文库 发布时间:2018-05-27 04:22
HTML文档下载 WORD文档下载 PDF文档下载
静态函数在类CCpacketDoc中定义
static void callback(u_char *argument, const struct pcap_pkthdr *packet_header, const u_char *packet_content);
实现
void CCPacketDoc::callback(u_char *argument, const pcap_pkthdr *packet_header, const u_char *packet_content)
{
  pcap_t *p = pcap_handle;
}
类CCpacketDoc的成员定义
pcap_t *pcap_handle; 

回调函数callback的参数已经定死,是第三方的函数。
请问如何实现静态函数与类成员值与函数之间的传递
先得到WINAPP,再从APP得到当前活动DOC ,也就是CCPACKETDOC的当前实例
楼上的是说这种方式嘛?
CMainFrame * pFrame = (CMainFrame*)theApp.GetMainWnd();
CXXXDoc * pDoc = pFrame->GetActiveView()->GetDocument();

好象不行的,因为静态函数在类实例没有生成的时候就有了。。。
静态函数什么时候执行的?
可以的,静态函数存在不代表被执行了
有大大说可以通过向MainFrame发送消息。。然后通过它调用document来修改你说要改的那个值。。。 


请问如何实现,我不是很清楚。。。

这个问题卡了一周了,我着急死了
pcap_t   *pcap_handle;  
这个是原程序中的定义吗?
我认为不是,因为静态函数必须要调用静态数据成员。

如果是其他的类调用的话,和普通的方法没有区别呀。
也就是:
CCpacketDoc::callback()就可以呀。
或者使用packetDoc.callback();
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘