[Bug c++/27178] New: Failure to recognize template default type argument
kreckel at ginac dot de
gcc-bugzilla@gcc.gnu.org
Sun Apr 16 14:21:00 GMT 2006
Consider this piece of code:
template < typename T > class Alloc { };
template < typename T, typename A = Alloc< T > > class List { };
template < template < typename > class > class container;
typedef container< List > myotherlist;
This code compiles fine with gcc-3.x, gcc-4.0 and gcc-4.1 but with gcc-4.2.0
20060415 I get an "type/value mismatch at argument 1 in template parameter list
for 'template<template<class> class<template-parameter-1-1> > struct container
expected a template of type 'template<class> class<template-parameter-1-1>',
got 'template<class T, class A> class List'" error.
Changing the forward declaration of template class container makes it work:
template < template < typename, typename > class > class container;
This makes the default in the template type list of class List slightly
pointless.
--
Summary: Failure to recognize template default type argument
Product: gcc
Version: 4.2.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: kreckel at ginac dot de
GCC build triplet: i686-linux-gnu
GCC host triplet: i686-linux-gnu
GCC target triplet: i686-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27178
More information about the Gcc-bugs
mailing list