This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: friend template class


Christian Kueblbeck wrote:
> 
> The following piece of code does not compile:
> 
> template <class T> class Test
> {
>      friend class Friend<T>;
> };
> 
> g++ 2.7.1 compiles without warning (as well as MS Visual C++), but egcs
> says:
> 
> parse error before `<'
> 
> How else should I declare friend template class?

You need to declare Friend as a template outside Test
before you declare an instance of it as a friend inside
Test.  This compiles on egcs:

  template <class T> struct A;
  template <class T> struct B { friend struct A<T>; };

Nathan Myers
ncm@cantrip.org


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]