------- 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

Reply via email to