* Andrew Pinski <[EMAIL PROTECTED]> [2006-09-17 15:06]:
> On Sun, 2006-09-17 at 23:45 +0200, Martin Michlmayr wrote:
> > This was accepted about a month ago but is rejected now with the
> > following error.  Is this invalid code and if so do you know the fix?
> 
> This is invalid code and is actually mentioned on the changes page:
> http://gcc.gnu.org/gcc-4.2/changes.html
> The (undocumented) extension which permitted templates with default
> arguments to be bound to template template parameters with fewer
> parameters has been removed. For example: 
>       template <template <typename> class C>
>       void f(C<double>) {}
> 
>       template <typename T, typename U = int>
>       struct S {};
> 
>       template void f(S<double>);
>       
> is no longer accepted by G++. The reason this code is not accepted is
> that S is a template with two parameters; therefore, it cannot be bound
> to C which has only one parameter.
> 
> -- Pinski

-- 
Martin Michlmayr
http://www.cyrius.com/


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to