Почему QFile недоступен после создания?
Мне нужно было создать свой класс файла, наследуемый от QFile, возникла проблема при вызове конструктора QFIle. Я решила вынести создание обычного файла и протестировать именно QFile.
При запуске отладки file имеет такой вид: 
Затем появляется следующая ошибка: 
При этом я использую самый простой способ создания файла :
QFile file("Computers.txt");
file.open(QFile::ReadWrite);
Подскажите, пожалуйста, в чем может быть проблема? Уже голову сломала, пытылась и с путями играться, и с синтаксисом, но проблема все та же - именно после вызова конструктора QFile file становится недоступным.
__мой класс
#define FILE_H
#include <QtCore/qglobal.h>
#include <QtCore/qglobal.h>
#include <QFile>
#include <QTemporaryFile>
#include "Computer.h"
#include <QMessageBox>
#define FILENAME "Computers.txt"
class File : public QTemporaryFile
{
public:
explicit File(QObject *parent = nullptr);
File(QString filename);
void open_file();
void add_data(Computer *computer);
void close_file();
~File(){};
};
#endif // FILE_H
реализация
#include <QVariant>
File::File(QString filename)
: QTemporaryFile{filename}{}
void File::open_file()
{
this->open(QFile::ReadWrite);
if (!this->open()) // если файл не существует, то
{ // формирмируем сообщение
QMessageBox msg(QMessageBox::Critical,"File not found", "Please, don't cry", QMessageBox::Ok,0);
msg.exec();// выводим сообщение на экран
}
}
void File::add_data(Computer *computer)
{
this->open_file();
this->seek(this->size()); // переходим на конец файла
QDataStream out(this); // связываем с файлом поток вывода
out << computer->comp_name << computer->memory << computer->microprocessor << computer->winchester << computer->price;
this->close_file();
}
void File::close_file()
{
if (this->isOpen())
{
this->close();
}// закрываем файл
}````