Я хотел бы расширить класс MinimumDiameter, чтобы добавить еще несколько методов. Я попытался с классическим синтаксисом C++:Расширение класса GEOS
class ExtendedMinimumDiameter : public MinimumDiameter{};
ExtendedMinimumDiameter *minimumDiameter = new ExtendedMinimumDiameter(inputGeometry);
Проблема заключается в том, что, когда я пытаюсь создать объект моего нового класса, GCC-4.8.2 жалуется следующим образом:
operators.cpp:194:92: error: no matching function for call to 'ExtendedMinimumDiameter::ExtendedMinimumDiameter(const geos::geom::Geometry*&)'
ExtendedMinimumDiameter minimumDiameter = ExtendedMinimumDiameter(inputGeometry);
^
operators.cpp:194:92: note: candidates are:
operators.cpp:116:7: note: ExtendedMinimumDiameter::ExtendedMinimumDiameter()
class ExtendedMinimumDiameter : public MinimumDiameter{
^
operators.cpp:116:7: note: candidate expects 0 arguments, 1 provided
operators.cpp:116:7: note: ExtendedMinimumDiameter::ExtendedMinimumDiameter(const ExtendedMinimumDiameter&)
operators.cpp:116:7: note: no known conversion for argument 1 from 'const geos::geom::Geometry*' to 'const ExtendedMinimumDiameter&'
Почему он не использует parent constructor и предлагает вместо этого использовать параметр по умолчанию без параметров? Что не хватает моему коду?
Thaks много, что сработало! Извините за вопрос noob ... – caneta
Не волнуйся о вопросе: вопрос не проблема, и у всех нас есть или мы никогда не сможем учиться. – GMasucci