سؤال

أحاول استخدام هذا الرمز في تطبيق QT الخاص بي

QMap<QString,QMap>

ولكن هناك مشكلة في البناء تقول

C:/****/****/****/***/domparser.h:14: error: type/value mismatch at argument 2 in template parameter list for 'template<class Key, class T> class QMap'
هل كانت مفيدة؟

المحلول

QMAP هي فئة قالب ، لذلك تحتاج إلى تحديد نوع QMAP الداخلي مثل هذا:

QMap<String, QMap<QString, int> > myMap;

لاحظ المسافة بين ">" وإلا فإن C ++ Lexer يعتقد أن المشغل >>.

تحرير

إذا كنت تنوي محاولة تخزين QMAP عام كنوع القيمة ، بدلاً من مثيل ملموس لـ QMAP ، داخل خريطتك الخارجية ، لا يمكنك ذلك!

لا يمكن أن يكون لديك شيء مثل QMAP ، لأن QMAP نفسه ليس نوعًا ، إنه قالب - إنه يسمي فقط نوعًا عند تحديد معلمات القالب

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top