![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
phpCoder |
![]() ![]()
Сообщение
#1
|
Студент ![]() Группа: Неактивирован Сообщений: 16 Регистрация: 2.12.2014 Пользователь №: 4289 Спасибо сказали: 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
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: ![]() ![]() ![]() |
Цитата Что тут можно поделать? В общем то он все написал в тексте ошибки. Давайте разберемся:
Здесь вы создаете новый элемент, потому что: Цитата 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 нет таких проблем потому что он хранит указатели, и использует автоматически сгенерированный конструктор копирования. |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 13.6.2025, 23:36 |