Date
2006-06-15.00:00:00
Message id
1384

Content

After the adoption of the wording for extended friend declarations, we now have this new paragraph in 11.8.4 [class.friend]:

A friend declaration that does not declare a function shall have one of the following forms:

    friend elaborated-type-specifier ;
    friend simple-type-specifier ;
    friend typename-specifier ;

But what about friend class templates? Should the following examples compile in C++0x?

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

    template< class > struct C;
    struct B{ friend C; };