Explicit base class


#1

Hi, Jules.

Using Ubuntu 14.04 with gcc 4.8.2.  Upgraded Juce for the first time in a long time tonight to v3.0.5-88-g0eab096.

I'm seeing the following error when trying to compile my test project:

In file included from /home/stephane/projects/test/JuceLibraryCode/modules/juce_core/juce_core.cpp:123:0:
/home/stephane/projects/test/JuceLibraryCode/modules/juce_core/javascript/juce_Javascript.cpp: In copy constructor ‘juce::JavascriptEngine::RootObject::FunctionObject::FunctionObject(const juce::JavascriptEngine::RootObject::FunctionObject&)’:
/home/stephane/projects/test/JuceLibraryCode/modules/juce_core/javascript/juce_Javascript.cpp:771:9: error: base class ‘class juce::DynamicObject’ should be explicitly initialized in the copy constructor [-Werror=extra]
         FunctionObject (const FunctionObject& other)  : functionCode (other.functionCode)
         ^

If I understand correctly, this line:

        FunctionObject (const FunctionObject& other)  :  functionCode (other.functionCode)

...needs to be changed to something like this:

        FunctionObject (const FunctionObject& other)  : DynamicObject(), functionCode (other.functionCode)

Same problem with the copy constructor of DynamicObject on line 33 of juce_DynamicObject.cpp which needs to initialize ReferenceCountedObject.

As usual...thanks for the great library!

 


#2

Thanks - I didn't realise that my linux GCC was still at version 4.6, and I guess they've changed something in the compiler.. I'll get the latest version and sort this out!