------- Comment #8 from fang at csl dot cornell dot edu 2009-02-09 17:54 ------- Subject: Re: std::mem_fun_ref fails to accept a member function whose second argument with default value
> ------- Comment #7 from paolo dot carlini at oracle dot com 2009-02-09 17:26 > ------- > (In reply to comment #6) >> Was there a compelling reason to remove it in favor of the unified >> ::resize(size_type, const value_type& t = T)? > > Yes, is non-conforming! I thought it was clear at this point... Just try to > instantiate that version of std::vector with a non-DefaultConstructible Tp! At no point was vector<Tp>::resize() ever instantiatable with a non-DefaultConstructible Tp, even with the old size_type-only member function. It would have failed on value_type() in the definition body. That doesn't make it any less conforming, does it? The default-tail-argument version of ::resize() (with = Tp()) just fails at the prototype in a concept-way, rather than through body instantiation. Is that the critical difference? Fang -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39136