Can't make "Implicit Typename Deprecated" warning go away
Colm McHugh
cmchugh@callixa.com
Wed Apr 6 17:36:00 GMT 2005
Hi,
I'm using gcc 3.3.3 on Linux, and compiling the following code:
template < typename KEY_T, typename DATA_T >
inline HashTable< KEY_T, DATA_T >::iterator
HashTable< KEY_T, DATA_T >::find( const KeyType& key )
{
SizeType bucket;
NodeType* node;
//etc
Gives the following warnings:
HashTable_tmpl.cpp:170: warning: `HashTable<KEY_T, DATA_T>::iterator' is
implicitly a typename
HashTable_tmpl.cpp:170: warning: implicit typename is deprecated, please
see the documentation for details
I changed the line that begins with inline to include the 'typename'
keyword immediately after the inline keyword,
as described in http://gcc.gnu.org/ml/gcc/2003-06/msg00978.html, but
that makes no difference, the warning still
shows up. I also tried adding the following typedef to the HashTable
class definition:
typedef typename HashTable<KEY_T, DATA_T>::iterator;
but that makes no difference as well. Can anyone point out what I'm
missing ?
Thanks,
Colm.
More information about the Gcc-help
mailing list