* implicit typename is deprecated
@ 2003-01-26 11:29 erwan ancel
2003-01-26 12:19 ` erwan ancel
2003-01-27 10:42 ` LLeweLLyn Reese
0 siblings, 2 replies; 4+ messages in thread
From: erwan ancel @ 2003-01-26 11:29 UTC (permalink / raw)
To: gcc-help
Hi,
Does anyone know what this mean ?
"Implicit typename is deprecated"
I got this message when compiling my template instanciations with gcc 3.2,
and the compilation fails, but I managed to compile this without any
warning/error with gcc 2.95.
Can anyone help me ?
Erwan
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: implicit typename is deprecated
2003-01-26 11:29 implicit typename is deprecated erwan ancel
@ 2003-01-26 12:19 ` erwan ancel
2003-01-27 10:42 ` LLeweLLyn Reese
1 sibling, 0 replies; 4+ messages in thread
From: erwan ancel @ 2003-01-26 12:19 UTC (permalink / raw)
To: gcc-help
correction:
the compilation doesn't fail, this was for another reason, but warning
messages about implicit typenames still remain... It seems to be a dirty
code, but I'd like to know why...
Erwan
----- Original Message -----
From: "erwan ancel" <erwan.ancel@free.fr>
To: <gcc-help@gcc.gnu.org>
Sent: Sunday, January 26, 2003 12:29 PM
Subject: implicit typename is deprecated
> Hi,
> Does anyone know what this mean ?
> "Implicit typename is deprecated"
>
> I got this message when compiling my template instanciations with gcc 3.2,
> and the compilation fails, but I managed to compile this without any
> warning/error with gcc 2.95.
>
> Can anyone help me ?
>
> Erwan
>
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: implicit typename is deprecated
2003-01-26 11:29 implicit typename is deprecated erwan ancel
2003-01-26 12:19 ` erwan ancel
@ 2003-01-27 10:42 ` LLeweLLyn Reese
2003-01-27 17:11 ` erwan ancel
1 sibling, 1 reply; 4+ messages in thread
From: LLeweLLyn Reese @ 2003-01-27 10:42 UTC (permalink / raw)
To: erwan ancel; +Cc: gcc-help
"erwan ancel" <erwan.ancel@free.fr> writes:
> Hi,
> Does anyone know what this mean ?
> "Implicit typename is deprecated"
Dependent names which are type names are required to be qualified by
the keyword 'typename'.
A dependent name is a name which is dependent on a template parameter.
struct A
{
struct nest{};
};
template<class T>
struct contain
{
typedef typename T::nest;
};
In the example above, 'T::nest' is a dependent name. Other common
dependent names are things like 'vector<T>::value_type' . Since
the parameters with which a template will be instantiated cannot
be known in general, and a given type may delcare 'nest' as a
static member, a data member, or a type member, or not at all, it
was felt the user should indicate when a dependent name is
intended/expected to be a type name. This allows better error
reporting, and potentially simpler implementation.
> I got this message when compiling my template instanciations with gcc 3.2,
> and the compilation fails, but I managed to compile this without any
> warning/error with gcc 2.95.
[snip]
3.2 is much closer to conformance than 2.95
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: implicit typename is deprecated
2003-01-27 10:42 ` LLeweLLyn Reese
@ 2003-01-27 17:11 ` erwan ancel
0 siblings, 0 replies; 4+ messages in thread
From: erwan ancel @ 2003-01-27 17:11 UTC (permalink / raw)
To: gcc-help
thanks a lot. I got my answer :)
----- Original Message -----
From: "LLeweLLyn Reese" <llewelly@lifesupport.shutdown.com>
To: "erwan ancel" <erwan.ancel@free.fr>
Cc: <gcc-help@gcc.gnu.org>
Sent: Monday, January 27, 2003 11:39 AM
Subject: Re: implicit typename is deprecated
> "erwan ancel" <erwan.ancel@free.fr> writes:
>
> > Hi,
> > Does anyone know what this mean ?
> > "Implicit typename is deprecated"
>
> Dependent names which are type names are required to be qualified by
> the keyword 'typename'.
>
> A dependent name is a name which is dependent on a template parameter.
>
> struct A
> {
> struct nest{};
> };
>
> template<class T>
> struct contain
> {
> typedef typename T::nest;
> };
>
> In the example above, 'T::nest' is a dependent name. Other common
> dependent names are things like 'vector<T>::value_type' . Since
> the parameters with which a template will be instantiated cannot
> be known in general, and a given type may delcare 'nest' as a
> static member, a data member, or a type member, or not at all, it
> was felt the user should indicate when a dependent name is
> intended/expected to be a type name. This allows better error
> reporting, and potentially simpler implementation.
>
> > I got this message when compiling my template instanciations with gcc
3.2,
> > and the compilation fails, but I managed to compile this without any
> > warning/error with gcc 2.95.
> [snip]
>
> 3.2 is much closer to conformance than 2.95
>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2003-01-27 17:11 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-01-26 11:29 implicit typename is deprecated erwan ancel
2003-01-26 12:19 ` erwan ancel
2003-01-27 10:42 ` LLeweLLyn Reese
2003-01-27 17:11 ` erwan ancel
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).