Попробуйте удалить часть template <qreal>
.
Пишите просто
QString propertyId() { return ID; }
Дело в том, что методы виртуальных шаблонов муравьев не совпадают.Вы не можете создать метод виртуального шаблона, а метод шаблона не может переопределить виртуальный класс.
Для других виртуальных методов
virtual T value() { return _value; }
virtual void setValue(T value) { _value = value; }
, которые зависят от параметра шаблона T
класса Property
, вы должны соответствовать параметру шаблона, который вы передали базовому классу.
Я имею в виду ... потому что PropertyReal
наследуется от Property<qreal>
, вы можете переопределить value()
иsetValue()
следующим образом
qreal value () { /* something */ }
void setValue (qreal value) { /* something */ }