gpt4 book ai didi

c++ - QTime->addSecs 导致段错误

转载 作者:太空宇宙 更新时间:2023-11-04 12:04:57 25 4
gpt4 key购买 nike

我正在编写简单的 pomodoro 应用程序,它基本上是倒数计时器。现在,我已经开始倒计时了,但奇怪的是,当我向我的类(任意)添加另一个属性时,我得到了Sedmentation fault错误。

使用gdb,问题应该出在这里:

void Status::showPomodoroTime() {
QTime time = pomodoroTime->addSecs(elapsed);
activeTime->display(time.toString("mm:ss"));
}

其中 activeTime 是 QLCDNumber 小部件,elapsed 是 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 行代码)。

最佳答案

检查 if(pomodoro!= NULL) 然后执行 addSecs()。

关于c++ - QTime->addSecs 导致段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12561481/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com