hash_multimap compile warning

The environment is

$ uname -a

SunOS sha-view2 5.10 Generic_118833-24 sun4u sparc SUNW,Netra-T12

$ CC -V

CC: Sun C++ 5.8 Patch 121017-10 2007/02/21

When I compile the following code, there is no warning, no error.

typedef std::multimap< uint64TP, ioCcSipTCPProcessor*> TCP_CONN_MAP;

TCP_CONN_MAP m_tcp_conn_map;

m_tcp_conn_map.insert(std::make_pair(key, processor));

When I change the "multimap" to "hash_multimap",

There is no warning, no error.

But I got the the following message, what does it mean?

"/opt/SUNWspro/prod/include/CC/stlport4/stl/_hashtable.h", line 371:Where: While instantiating "std::hashtable<std::pair><const unsigned long, ioCcSipTCPProcessor*>, unsigned long, std::hash<unsigned long>, std::_Select1st<std::pair><const unsigned long, ioCcSipTCPProcessor*>>, std::equal_to<unsigned long>, std::allocator<std::pair><const unsigned long, ioCcSipTCPProcessor*>>>::resize(unsigned long)".

"/opt/SUNWspro/prod/include/CC/stlport4/stl/_hashtable.h", line 371:Where: While instantiating "std::hashtable<std::pair><const unsigned long, ioCcSipTCPProcessor*>, unsigned long, std::hash<unsigned long>, std::_Select1st<std::pair><const unsigned long, ioCcSipTCPProcessor*>>, std::equal_to<unsigned long>, std::allocator<std::pair><const unsigned long, ioCcSipTCPProcessor*>>>::resize(unsigned long)".

"/opt/SUNWspro/prod/include/CC/stlport4/stl/_hashtable.c", line 151:Where: While instantiating "std::hashtable<std::pair><const unsigned long, ioCcSipTCPProcessor*>, unsigned long, std::hash<unsigned long>, std::_Select1st<std::pair><const unsigned long, ioCcSipTCPProcessor*>>, std::equal_to<unsigned long>, std::allocator<std::pair><const unsigned long, ioCcSipTCPProcessor*>>>::_M_new_node(const std::pair<const unsigned long, ioCcSipTCPProcessor*>&)".

"/opt/SUNWspro/prod/include/CC/stlport4/stl/_hashtable.c", line 151:Where: Instantiated from std::hashtable<std::pair><const unsigned long, ioCcSipTCPProcessor*>, unsigned long, std::hash<unsigned long>, std::_Select1st<std::pair><const unsigned long, ioCcSipTCPProcessor*>>, std::equal_to<unsigned long>, std::allocator<std::pair><const unsigned long, ioCcSipTCPProcessor*>>>::insert_equal_noresize(const std::pair<const unsigned long, ioCcSipTCPProcessor*>&).

"/opt/SUNWspro/prod/include/CC/stlport4/stl/_hashtable.c", line 151:Where: While instantiating "std::hashtable<std::pair><const unsigned long, ioCcSipTCPProcessor*>, unsigned long, std::hash<unsigned long>, std::_Select1st<std::pair><const unsigned long, ioCcSipTCPProcessor*>>, std::equal_to<unsigned long>, std::allocator<std::pair><const unsigned long, ioCcSipTCPProcessor*>>>::_M_new_node(const std::pair<const unsigned long, ioCcSipTCPProcessor*>&)".

"/opt/SUNWspro/prod/include/CC/stlport4/stl/_hashtable.c", line 151:Where: Instantiated from std::hashtable<std::pair><const unsigned long, ioCcSipTCPProcessor*>, unsigned long, std::hash<unsigned long>, std::_Select1st<std::pair><const unsigned long, ioCcSipTCPProcessor*>>, std::equal_to<unsigned long>, std::allocator<std::pair><const unsigned long, ioCcSipTCPProcessor*>>>::insert_equal_noresize(const std::pair<const unsigned long, ioCcSipTCPProcessor*>&).

[3646 byte] By [multimapa] at [2007-11-27 5:40:01]
# 1

You say you get no warning, no error, but then list part of what is either a warning or an error message. I don't understand what you mean.

When the compiler runs into a problem creating a template instance, it issues a warning or error at that point, followed by a walkback of intermediate template processing to help you identify which attempted instantiation caused the problem.

You showed at least part of the walkback, but not the warning or error message.

Finally, hash_multimap is not a standard template class, and is not in the default libCstd standard library. Are you compiling with the option

-library=stlport4

to get the optional STLport library?

clamage45a at 2007-7-12 15:16:02 > top of Java-index,Development Tools,Solaris and Linux Development Tools...