Boost logo

Boost :

Subject: Re: [boost] tuple and virtual functions
From: Olaf van der Spek (ml_at_[hidden])
Date: 2012-01-12 10:27:43


On Thu, Jan 12, 2012 at 2:35 PM, Christopher Jefferson
<chris_at_[hidden]> wrote:
>
> On 12 Jan 2012, at 13:30, Mark Snelling wrote:
>
>> I'm having a problem with Boost.Tuple virtual functions. Consider the code
>> below, I would have expected the output to be "B::foo()" but instead get
>> "A::foo()". Am I missing something here?
>
> Yes, if you copy a A&, you end up with an A. This is known as 'slicing', and can be a pain. It has nothing to do with boost, or tuple.

Indeed. Derive A from boost::noncopyable to catch this mistake.

Olaf


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk