This is the mail archive of the libstdc++@sourceware.cygnus.com mailing list for the libstdc++ project. See the libstdc++ home page for more information.
Let's make it work.
------- Start of forwarded message -------
From: jhs@edg.com (John H. Spicer)
Subject: Re: Template member matching
Date: 9 Nov 1998 07:09:55 -0800
Message-ID: <199811091446.JAA26017.cygnus.x3j16.core@edg3.edg.com>
Reply-To: c++std-core@research.att.com
To: c++std-core-in@cygnus.com
To: C++ core language mailing list
Message c++std-core-7889
In Message c++std-core-7888, Jason Merrill writes:
>
> Is this well-formed?
>
> template <class T>
> struct S {
> enum E { a };
> static T t[a];
> };
>
> template <class T>
> T S<T>::t[S<T>::a];
>
> The uses of 'a' are not identical, since the first is non-dependent,
> and the second is dependent. But does that affect matching the definition
> to the declaration? My inclination is to say no.
>
There is an open issue regarding this subject, which I volunteered to
work on. But I certainly agree that these declarations should match.
(The example is ill-formed though, because the array size is zero :-)
John Spicer
Edison Design Group
------- End of forwarded message -------