------- Comment #5 from jorrit at jorrit dot de 2010-02-16 16:30 ------- Here is a workaround that works with gcc "gcc version 4.1.3 20080704 (prerelease) (Debian 4.1.2-27)" as well as the gcc 3.4 and 4.4 mentioned in Comment #3.
====================================================================== template <int dim> class X {}; template <class T> class Y { static const unsigned int dim = 1; typedef X<dim> Z; Z f(); }; template <class T> typename Y<T>::Z Y<T>::f() { return X<dim>(); } ====================================================================== -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26261