diff --git a/GUI/Model/Util/UtilXML.h b/GUI/Model/Util/UtilXML.h index 998ddc6dadae9b4fbe26078f472ea276e2e18318..47aa3aaacad14b6972459d120cc8ddc8c79e62bc 100644 --- a/GUI/Model/Util/UtilXML.h +++ b/GUI/Model/Util/UtilXML.h @@ -106,10 +106,11 @@ template <typename T> void readBaseElement(QXmlStreamReader* r, const QString& t template <typename C, typename... Args> typename C::BaseItem* readItemFrom(QXmlStreamReader* r, Args... args) { + using BaseItem = C::BaseItem; const uint typeIndex = readUInt(r, XML::Attrib::type); const QString kind = readString(r, XML::Attrib::kind); const auto type = static_cast<typename C::Type>(typeIndex); - C::BaseItem* t = C::create(type, args...); + BaseItem* t = C::create(type, args...); if (t) t->readFrom(r); return t; @@ -118,7 +119,8 @@ typename C::BaseItem* readItemFrom(QXmlStreamReader* r, Args... args) template <typename C, typename... Args> typename C::BaseItem* readChosen(QXmlStreamReader* r, const QString& tag, Args... args) { - C::BaseItem* t = readItemFrom<C>(r, args...); + using BaseItem = C::BaseItem; + BaseItem* t = readItemFrom<C>(r, args...); gotoEndElementOfTag(r, tag); return t; }