Ошибка сегментации при попытке получить значение указателя в QTC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Ошибка сегментации при попытке получить значение указателя в QT

Сообщение Anonymous »

У меня проблемы с использованием указателей в моей программе. В моем файле заголовка у меня есть следующее назначение указателя частной переменной: < /p>
private:
QString *currentFile;
< /code>
В моей программе у меня есть функция, которая начинается с копирования значения указателя текущего файла в другую переменную QString: < /p>
QString fileName = *currentFile;
< /code>
Однако это сразу же дает мне ошибку сегментации при отладке. Я абсолютно понятия не имею, что делаю не так. Я подумал, что может быть потому, что указатель был пустым, поэтому я попытался добавить следующий код в свой конструктор: < /p>
*currentFile = QString::null;

для назначения значения NULL значению указателя, однако это просто дало мне ошибку сегментации, как только был вызван конструктор.class Notepad : public QMainWindow
{
Q_OBJECT

public:
Notepad();

private slots:
void open();
void save();
void saveAs();
void quit();

private:
QTextEdit *textEdit;
QString *currentFile;
QString *currentContents;
};
< /code>
Функция, создавая ошибку (void save ()) в notepad.cpp: < /p>
void Notepad::save(){
QString fileName = *currentFile;
if(fileName != "")
{
QFile file(fileName);
if(!file.open(QIODevice::WriteOnly))
{
QMessageBox::critical(this, tr("Error"), tr("Could not write to file"));
return;
}
else
{
QTextStream stream(&file);
QString editorContent = textEdit->toPlainText();
currentContents = &editorContent;
stream

Подробнее здесь: https://stackoverflow.com/questions/763 ... alue-in-qt
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»