On Mon, Feb 23, 2004 at 03:47:44PM +0000, Angus Leeming wrote: > Andre Poenitz wrote: > >> class tull; > >> std::pair<tull, tull> ReturnVar(); > > > > This is illegal IMHO even if g++ and Comeau (*gosh*) accept it. > > [Have we had this discussion before?] > > Don't think so. Show me where it says that the template must be > instantiated in a forward declaration.
If it were a parameter it must be a complete type, i.e. 'instantiated'. However there is a special rule for return types (8.3.5) of which I wasn't aware. Andre'