Boost logo

Boost Users :

Subject: [Boost-users] [Closed/Solved] Re: Problem with 'cannot instantiate abstract class' after switching from BOOST 1.33.0 to 1.34.1 (also VS2005 -> VS2008)
From: Tobias Alte (tobias_alte_at_[hidden])
Date: 2009-03-18 17:17:53


Hello Steven,

We finally located the problem to be a subtle change in another internal
library. There we tried to actually get an object of one of the
described abstract classes.

So thanks again for your tip to investigate in that direction :)

Have a good one.
Tobias

On 3/13/2009 4:16 PM, Steven Watanabe wrote:
> AMDG
>
> I've tried to strip the error message down to the important parts.
>
> Tobias Alte wrote:
>> Generally speaking we would have the following structure:
>>
>> Axis [pure virtual, abstract]
>> {
>> }
>>
>> ----------------------------------------------------------------------
>> [...]\boost\concept_check.hpp(250) : error C2259:
>> 'MotionControl::Axis': cannot instantiate abstract class due to
>> following members:
>>
>> [...]\include\dataobject.h(747) : see reference to class template
>> instantiation 'boost::CopyConstructibleConcept<TT>' being compiled
>> with
>> [
>> TT=MotionControl::Axis
>> ]
>> [...]\include\dataobject.h(1444) : see reference to class template
>> instantiation 'Data<_type>' being compiled
>> with
>> [
>> _type=MotionControl::Axis
>> ]
>
> Why does Data require _type to be CopyConstructible?
> If this concept requirement is correct, why is Data being
> instantiated with MotionControl::Axis?
>
> In Christ,
> Steven Watanabe


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net