
12 Jan
2012
12 Jan
'12
3:27 p.m.
On Thu, Jan 12, 2012 at 2:35 PM, Christopher Jefferson <chris@bubblescope.net> 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