diff --git a/src/Base/BaseClass.h b/src/Base/BaseClass.h index 66be845d6a..f5b5a20f4f 100644 --- a/src/Base/BaseClass.h +++ b/src/Base/BaseClass.h @@ -63,7 +63,6 @@ void * _class_::create(void){\ /// define to implement a subclass of Base::BaseClass #define TYPESYSTEM_SOURCE_TEMPLATE_P(_class_) \ -template<> Base::Type _class_::classTypeId = Base::Type::badType(); \ template<> Base::Type _class_::getClassTypeId(void) { return _class_::classTypeId; } \ template<> Base::Type _class_::getTypeId(void) const { return _class_::classTypeId; } \ template<> void * _class_::create(void){\ diff --git a/src/Mod/Part/App/GeometryDefaultExtension.h b/src/Mod/Part/App/GeometryDefaultExtension.h index 246f55d185..4eaf1de579 100644 --- a/src/Mod/Part/App/GeometryDefaultExtension.h +++ b/src/Mod/Part/App/GeometryDefaultExtension.h @@ -86,6 +86,15 @@ namespace Part { // 5. Provide specialisations if your type does not meet the assumptions above (e.g. for serialisation) (cpp file) // 6. Register your type and corresponding python type in AppPart.cpp + template + Base::Type GeometryDefaultExtension::classTypeId{Base::Type::badType()}; + + // Must be explicitly declared here + template<> void * GeometryDefaultExtension::create(); + template<> void * GeometryDefaultExtension::create(); + template<> void * GeometryDefaultExtension::create(); + template<> void * GeometryDefaultExtension::create(); + template inline GeometryDefaultExtension::GeometryDefaultExtension():value{}{}