curried template inaccurate names
Larry Evans
jcampbell3@prodigy.net
Sun Jul 16 10:48:00 GMT 2000
The following is an even further simplification of the problem:
=========================
template
< typename S
>
struct
A
{
};
template
< template<typename S>class T
>
struct
B
{
template
< typename U
>
struct
C
{
C(void);
};
};
typedef B<A> B1;
typedef B<B1::C> B2;
typedef B<B2::C> B3;
B2::C<int>::C(void){};
#define B3__C__CTOR
#ifdef B3__C__CTOR
//The following produces:
// bug2.s:24: Fatal error: Symbol B<template <class> class
C>::C<int>::C(void) already defined.
B3::C<int>::C(void){};
#endif
More information about the Gcc-bugs
mailing list