Re: Can't make "Implicit Typename Deprecated" warning go away

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Colm,

  That typedef declaration is wrong.

  typedef typename HashTable<KEY_T, DATA_T>::iterator MyIterator;

corey

On Apr 6, 2005 12:35 PM, Colm McHugh <cmchugh@xxxxxxxxxxx> wrote:
> 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.
> 
>

[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux