Неверная запись размера 4 в конструкторе

Я использую Qt5. В программе, которую я пишу, у меня есть класс с очень простым конструктором. Проблема в том, что, когда я проверяю проблемы с Valgrind, я получаю «Неверная запись размера» при каждом назначении.

Это заголовок:

#ifndef RS22812_H
#define RS22812_H

#include <QObject>

class RS22812 : public QObject
{
Q_OBJECT
public:
explicit RS22812(QObject *parent = 0);
~RS22812();
private:
uint mode;
Flags flags;
QString byte2Digit(uchar byte);

signals:
void modeChanged(uint newmode);

public slots:
void newValue(const QByteArray &data);
};

#endif // RS22812_H

И определение конструктора в файле cpp:

RS22812::RS22812(QObject *parent) : QObject(parent)
{
mode=0;
}

Valgrind выдает ошибку как в QObject (parent), так и в mode = 0:

Invalid write of size 4
in RS22812::RS22812(QObject*) in /home/javi/ProgrammingProjects/multimeterGUI/rs22812.cpp:4
1: RS22812::RS22812(QObject*) in /home/javi/ProgrammingProjects/multimeterGUI/rs22812.cpp:4
2: MainWindow::MainWindow(QWidget*) in /home/javi/ProgrammingProjects/multimeterGUI/mainwindow.cpp:29
3: main in /home/javi/ProgrammingProjects/multimeterGUI/main.cpp:7
Address 0x1c4ad500 is 0 bytes after a block of size 16 alloc'd  1: operator new(unsigned long) in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so
2: MainWindow::MainWindow(QWidget*) in /home/javi/ProgrammingProjects/multimeterGUI/mainwindow.cpp:29
3: main in /home/javi/ProgrammingProjects/multimeterGUI/main.cpp:7

Invalid write of size 4
in RS22812::RS22812(QObject*) in /home/javi/ProgrammingProjects/multimeterGUI/rs22812.cpp:6
1: RS22812::RS22812(QObject*) in /home/javi/ProgrammingProjects/multimeterGUI/rs22812.cpp:6
2: MainWindow::MainWindow(QWidget*) in /home/javi/ProgrammingProjects/multimeterGUI/mainwindow.cpp:29
3: main in /home/javi/ProgrammingProjects/multimeterGUI/main.cpp:7
Address 0x1c4ad500 is 0 bytes after a block of size 16 alloc'd  1: operator new(unsigned long) in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so
2: MainWindow::MainWindow(QWidget*) in /home/javi/ProgrammingProjects/multimeterGUI/mainwindow.cpp:29
3: main in /home/javi/ProgrammingProjects/multimeterGUI/main.cpp:7

Я не понимаю, как такое простое назначение может привести к ошибке. Спасибо за ваши предложения.

-1

Решение

После нескольких попыток кажется, что проблема была в QtCreator. Когда я очистил проект, он без проблем скомпилирован.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector