Не работает Qhash с структура |
Здравствуйте, гость ( Вход | Регистрация )
Не работает Qhash с структура |
phpCoder |
1.1.2015, 13:05
Сообщение
#1
|
Студент Группа: Неактивирован Сообщений: 16 Регистрация: 2.12.2014 Пользователь №: 4289 Спасибо сказали: 0 раз(а) Репутация: 0 |
Добрый день.
Qt опять тупит... Значится есть в .h файле структура:
В приватной секции класса:
В реализации:
На этой строчке начинаются проблемы: D:\Soft\Qt\5.4\mingw491_32\include\QtCore\qhash.h:756: ошибка: no matching function for call to 'OrdersFields::OrdersFields()' return createNode(h, akey, T(), node)->value; ^ D:\Soft\Qt\5.4\mingw491_32\include\QtCore\qhash.h:756: candidates are: D:\Documents\Qt\project\project\OrdersEdit.cpp:1: In file included from ..\project\OrdersEdit.cpp:1:0: D:\Documents\Qt\project\project\OrdersEdit.h:24: OrdersFields::OrdersFields(const QString&, int, bool) OrdersFields(const QString &label, int width, bool isEditable = false) : label(label), width(width), isEditable(isEditable), index(0) {} ^ D:\Documents\Qt\project\project\OrdersEdit.h:24: note: candidate expects 3 arguments, 0 provided D:\Documents\Qt\project\project\OrdersEdit.h:18: OrdersFields::OrdersFields(const OrdersFields&) struct OrdersFields ^ D:\Documents\Qt\project\project\OrdersEdit.h:18: note: candidate expects 1 argument, 0 provided Что тут можно поделать? А вот если использовать Qlist, то никаких ошибок нет... Может Qhash и Qmap - это мусор?... |
|
|
lanz |
2.1.2015, 22:11
Сообщение
#2
|
Старейший участник Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: 8 |
Цитата Что тут можно поделать? В общем то он все написал в тексте ошибки. Давайте разберемся:
Здесь вы создаете новый элемент, потому что: Цитата If the hash contains no item with the key, the function inserts a default-constructed value into the hash with the key, and returns a reference to it. Соответственно он жалуется, на то что у вашего класса нет конструктора без параметров, который бы позволил ему создать это значение. Заведите такой конструктор, либо задайте все значения по умолчанию. С QList нет таких проблем потому что он хранит указатели, и использует автоматически сгенерированный конструктор копирования. |
|
|
Текстовая версия | Сейчас: 25.4.2024, 3:16 |