[Bug c++/50830] New: [c++0x] Variadic template, inner class error
trashyankes at wp dot pl
gcc-bugzilla@gcc.gnu.org
Sat Oct 22 14:46:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50830
Bug #: 50830
Summary: [c++0x] Variadic template, inner class error
Classification: Unclassified
Product: gcc
Version: 4.7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: trashyankes@wp.pl
Build: MinGW 4.6.0 20110210; MinGW 4.7.0 20110815
this code generate error `expected a class template, got 'template<class>
struct aa'` (case `a4` and `a5`)
when i remove every `...` its compile without problems
-----------------------------------------------------
template<class...>
struct list_type {};
template<template<class> class...>
struct list_templates {};
template<class>
struct aa {};
template<class>
struct bb {};
template<class... T>
struct test {};
template<template<class> class... F>
struct test<list_templates<F...>>
{
struct inner {};
};
template<template<class> class... F, template<class> class... F2>
struct test<list_templates<F...>, list_templates<F2...>>
{
struct inner {};
};
template<class... T>
struct test<list_type<T...>>
{
struct inner {};
};
template<class... T,class... T2>
struct test<list_type<T...>, list_type<T2...>>
{
struct inner {};
};
template<template<class> class... F, class... T>
struct test<list_templates<F...>, list_type<T...>>
{
struct inner {};
};
test<list_templates<aa>> a1;
test<list_type<int>> a2;
test<list_type<int>, list_type<int>> a3;
test<list_templates<aa>, list_type<int>> a4; // error
test<list_templates<aa>, list_templates<bb>> a5; // error
-----------------------------------------------------
More information about the Gcc-bugs
mailing list