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.