Hi Robert,

The warnings relating the Operation class comes from the two protected 
constructors. Since the class uses virtual inheritance it is initialized by the 
most derived class. So the initializer for the virtual base class is ignored.

So just removing the base class initializer for Operation will remove this 
warning. I do not think this will have any negative side effects, since base 
class initializer should be ignored by all compliant compilers anyway.

I have attached the changed file.

Regards
Björn

>-----Original Message-----
>From: osg-users [mailto:[email protected]] On
>Behalf Of Robert Osfield
>Sent: Friday, June 3, 2016 1:46 PM
>To: OpenSceneGraph Users <[email protected]>
>Subject: Re: [osg-users] Preparing to make 3.5.3 dev release, please test
>
>Hi Bjorn,
>
>On 3 June 2016 at 09:48, Björn Blissing <[email protected]> wrote:
>>
>> I compiled the latest master with Visual Studio 2015.
>>
>> I got a couple of warnings.  First of all I got a ton of these, which all 
>> originates
>from the same origin:
>>
>>
>> Code:
>>
>> ...
>> OpenSceneGraph\include\osg/OperationThread(80): warning C4589:
>Constructor of abstract class 'osg::Operation' ignores initializer for virtual 
>base
>class 'osg::Referenced' (compiling source file
>D:\github\OpenSceneGraph\src\osg\AnimationPath.cpp)
>>   OpenSceneGraph\include\osg/OperationThread(80): note: virtual base
>classes are only initialized by the most-derived type (compiling source file
>D:\github\OpenSceneGraph\src\osg\AnimationPath.cpp)
>> ...
>>
>>
>>
>>
>> And the same warnings for the following classes:
>>
>>
>> Code:
>>
>> OpenSceneGraph\src\osgGA\CameraManipulator.cpp(24): warning C4589:
>Constructor of abstract class 'osgGA::CameraManipulator' ignores initializer 
>for
>virtual base class 'osg::Callback'
>>   OpenSceneGraph\src\osgGA\CameraManipulator.cpp(24): note: virtual
>base classes are only initialized by the most-derived type
>> OpenSceneGraph\src\osgGA\StandardManipulator.cpp(51): warning C4589:
>Constructor of abstract class 'osgGA::StandardManipulator' ignores initializer
>for virtual base class 'osg::Callback'
>>   OpenSceneGraph\src\osgGA\StandardManipulator.cpp(51): note: virtual
>base classes are only initialized by the most-derived type
>> OpenSceneGraph\src\osgViewer\ViewerBase.cpp(44): warning C4589:
>Constructor of abstract class 'osgViewer::ViewerBase' ignores initializer for
>virtual base class 'osg::Object'
>>   OpenSceneGraph\src\osgViewer\ViewerBase.cpp(44): note: virtual base
>classes are only initialized by the most-derived type
>> OpenSceneGraph\src\osgViewer\ViewerBase.cpp(50): warning C4589:
>Constructor of abstract class 'osgViewer::ViewerBase' ignores initializer for
>virtual base class 'osg::Object'
>>   OpenSceneGraph\src\osgViewer\ViewerBase.cpp(50): note: virtual base
>classes are only initialized by the most-derived type
>> OpenSceneGraph\src\osgAnimation\AnimationManagerBase.cpp(65):
>warning C4589: Constructor of abstract class
>'osgAnimation::AnimationManagerBase' ignores initializer for virtual base class
>'osg::Callback'
>>   OpenSceneGraph\src\osgAnimation\AnimationManagerBase.cpp(65):
>note: virtual base classes are only initialized by the most-derived type
>
>Unfortunately I don't see these warnings with the compiler I have
>available with the settings that are currently available.  Do you know
>of what to enable these warnings in gcc or Clang?
>
>The nature of these warnings are such that I really need to be able to
>see the warning first hand and attempt a local fix to see the affect.
>
>Cheers,
>Robert.
>_______________________________________________
>osg-users mailing list
>[email protected]
>http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Attachment: OperationThread
Description: OperationThread

_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to