27 lines · cpp
1namespace QHashPrivate {2template <typename> int b;3struct Data;4} // namespace QHashPrivate5 6struct QDomNodePrivate {};7template <typename = struct QString> struct QMultiHash {8 QHashPrivate::Data *d = nullptr;9};10 11struct QDomNamedNodeMapPrivate {12 QMultiHash<> map;13};14struct QDomElementPrivate : QDomNodePrivate {15 QDomElementPrivate();16 void importee();17 QMultiHash<> *m_attr = nullptr;18};19// --------- common part end ---------20 21QDomElementPrivate::QDomElementPrivate() : m_attr{new QMultiHash<>} {}22void QDomElementPrivate::importee() { (void)QMultiHash<>{}; }23struct foo {24 QDomElementPrivate m = {};25 static const int value = (QHashPrivate::b<foo>, 22);26};27