$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Rodolfo Lima (rodolfo_at_[hidden])
Date: 2006-11-30 07:39:35
>> // This compiles nicely
>> aux_ptr ptr(new aux());
>> cout << (_1->*&aux::b)(ptr) << endl;
>>
> Hmm... why does this even compile? strange.
I see, after looking at the code I don't see a specialization for
plain_return_type_2<other_action<member_pointer_action> >. FYI I'm using g++
4.1.1.
>> Both versions above are delayed calls to user-defined operator->* and
> the in general the library
> won't guess what the result type should be.
> In the latter case the lib would have to guess that constness of
> aux_ptr means
> that R should be constified in the return, which is too much guess work.
Maybe lambda could support what I think is a common scenario, i.e., smart
pointer-like objects. The worst think that may happen is, IMO, a compilation
failure.
Regards,
Rodolfo Lima.