我正在寫簡單的pomodoro應用程序,它基本上是倒數計時器。現在,我已經倒計時了,但奇怪的是,當我添加另一個屬性到我的班級(任意)時,我得到安裝錯誤錯誤。QTime-> addSecs導致分段錯誤
用gdb,這個問題應該在這裏:
void Status::showPomodoroTime() {
QTime time = pomodoroTime->addSecs(elapsed);
activeTime->display(time.toString("mm:ss"));
}
其中activeTime是QLCDNumber小部件,經過數據類型爲int。
更多背景:
void Status::createDefaultIntervals()
{
pomodoroInterval = new QTime(0, 25);
pomodoroBreak = new QTime(0, 5);
pomodoroLongBreak = new QTime(0, 15);
}
void Status::run()
{
if (pomodoroActive == STOP) {
pomodoroTime = pomodoroInterval;
showPomodoroTime();
}
pomodoroActive = RUN;
updateStatusArea();
timerTick();
}
CreateDefaultInterval showPomodoroTime之前肯定運行。
什麼錯誤我,整個應用程序工作正常。正當我添加另一個屬性時,它開始拋出sedfault。
* .h文件中的變量聲明如何導致* .cpp中的段錯誤?
如果你想要更多的代碼,我可以把它放在任何地方。我只是不知道,什麼地方足夠執着。不想在此發佈(約300行代碼)。
檢查'pomodoroTime'是否是一個有效的指針 – SingerOfTheFall
'Status'是否可複製?如果是這樣,複製構造函數和賦值運算符是否實現? – hmjd
@hmjd我怎麼知道? –