Qt использование cell и qtablewidget в разных классах

222
24 апреля 2018, 02:59

Самостоятельно изучаю qt, не кидайтесь тапками, пожалуйста. У меня есть класс клеток поля, в котором лежит QTableWidgetItem *item;

            #ifndef CELL_H
            #define CELL_H
            #include <QTableWidget>
            class cell : public QTableWidget
            {
                Q_OBJECT
            public:
                explicit cell(QTableWidget *parent = 0);
                void set_state(int state);
                int get_state();
                void set_fate(int fate);
                int get_fate();
                void preset_neighbours();
                QTableWidgetItem *item;
            protected:
                int state=0,fate=0,neighbours=0;
            signals:
            public slots:
            };

И есть класc главного окна приложения, в котором находится QTableWidget. Как сделать так, чтобы я смог сделать следующую операцию

            ui->tablewidget->setitem(x,y,cel.item);

Где cel - объект класса cell. На текущий момент программа выдает ошибку:

D:\soft\qt570\Tools\mingw530_32\i686-w64-mingw32\include\c++\ext\new_allocator.h:120: error: use of deleted function 'cell::cell(const cell&)' { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } ^

Answer 1

Ошибку выдает не ваша программа, а компилятор! Он сообщает вам что вы пытаетесь, дословно: использовать удаленную функцию cell::cell(const cell&). В переводе на человеческий это означает, что где-то происходит вызов конструктора копирования (cell(const cell&)), который в классе cell не определен (удален на языке компилятора).

Более интересно почему компилятор нзывает конструктор копирования удаленным. Дело в том, что у вас здесь сработали правила генерации и удаления конструкторов и операторов по умолчанию. Эти правила не простые и действительно легко запутаться, они уже тут обсуждались.

READ ALSO
Отправка файла на сервер

Отправка файла на сервер

Читаю документацию ZeroMQ, появились вопросы, на которые пока не могу найти ответыА именно, как отправить серверу текстовый файл, чтобы тот его...

203
Не получается записать то, что выходит из массива в переменную

Не получается записать то, что выходит из массива в переменную

Хочу записать в переменную то, что получается в цикле

204
Поиск данных в массиве js

Поиск данных в массиве js

Всем привет,имеется вот такой массив данных

218
Как исправить формулу расчета очков за прогноз?

Как исправить формулу расчета очков за прогноз?

Имеется форма для ввода данных:

234