
Presumably, identity<T>::type would be a typedef which would also be invalid: Section 7.1.5.3 paragraph 2 of Standard C++: 3.4.4 describes how name lookup proceeds for the /identifier/ in an /elaborated-type-specifier/. ... If the /identifier/ resolves to a */typedef-name/* or a *template /type-parameter/*, the /elaborated-type-specifier/ is ill-formed. [/Note/: this implies that, within a class template with a template /type-parameter/ T, the declaration friend class T; is ill-formed. ] Tom. Felipe Magno de Almeida wrote:
On 4/7/06, Anthony Williams <anthony_w.geo@yahoo.com> wrote:
Vladislav Lazarenko <snail@b2bits.com> writes:
[snipped]
Unfortunately the declaration "friend typename T", is not legal. It might happen to work on current releases of Microsoft compilers, but that's a bug in the compiler.
Is
friend typename identity<T>::type;
also illegal?
Anthony -- Anthony Williams Software Developer Just Software Solutions Ltd http://www.justsoftwaresolutions.co.uk
-- Felipe Magno de Almeida _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost