447639976 发表于 2009-3-19 15:22:59

ACE_Strategy_Accepter的ACE_Hash_Addr<ACE_INET_Addr>::hash_i的问题

//   Template   specializations   for   the   hashing   function   for   the   
//   hash_map   which   is   used   by   the   cache.   The   cache   is   used   internally   by   the   
//   Cached   Connection   Strategy   .   Here   we   use   ACE_Hash_Addr   
//   as   our   external   identifier.   This   utility   class   has   already   
//   overloaded   the   ==   operator   and   the   hash()   method.   (The   
//   hashing   function).   The   hash()   method   delegates   the   work   to   
//   hash_i()   and   we   use   the   IP   address   and   port   to   get   a   
//   a   unique   integer   hash   value.   
size_t   
ACE_Hash_Addr<ACE_INET_Addr>::hash_i   (const   ACE_INET_Addr   &addr)   const   
{   
return   addr.get_ip_address   ()   +   addr.get_port_number   ();   
}   
   
这一段不能再程序中编译通过,VC6.0,提示::前有错误。   
我包含的头文件是:   
#include   ”ace/Reactor.h”   
#include   ”ace/Svc_Handler.h”   
#include   ”ace/Connector.h”   
#include   ”ace/Synch.h”   
#include   ”ace/SOCK_Connector.h”   
#include   ”ace/INET_Addr.h”   
   
请问大家,在策略模式中,hash_i需要如何实现,这个hash_i的声明在什么头文件中?




在CSDN中也有相似问题,没解决的。

winston 发表于 2009-3-19 15:27:10

有的ACE版本,VC6不支持。看看你的版本。

447639976 发表于 2009-3-19 15:27:18

我的版本ACE是5.5

447639976 发表于 2009-3-19 15:28:05

不是最新的就支持的吗?

winston 发表于 2009-3-20 21:31:48

看看文档说明吧。我建议你用VC2003试试。哪怕拿虚拟机测试都成。
页: [1]
查看完整版本: ACE_Strategy_Accepter的ACE_Hash_Addr<ACE_INET_Addr>::hash_i的问题