------- Comment #1 from pinskia at gcc dot gnu dot org  2005-11-05 00:55 -------
Hmm, GCC seems to think "size ? 1 : d->size" is type-dependent in a way it is
as D is type dependent.  Someone else with more knowlege of the C++ standard
will have to comment.
Another testcase which shows the same issue
template <typename T>
struct List
{
    struct D { int size; };
    D *d;

    List &fill(const T &t, int size = -1);
};

template <typename T>
List<T> &List<T>::fill(const T &t, int size)
{
    resize(d->size);
    return *this;
}


-----------------------
Comeau says this is invalid code but I don't know really.


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  GCC build triplet|x86_64-redhat-linux         |
   GCC host triplet|x86_64-redhat-linux         |
 GCC target triplet|x86_64-redhat-linux         |
           Keywords|                            |accepts-invalid
            Summary|[accept invalid] Invalid    |Invalid template code
                   |template code accepted      |accepted


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24680

Reply via email to