程序崩溃,没有错误信息
Program crashes without error message
我正在使用Qt Creator (Community)学习如何编码。
我有一个任务来计算函数的根,我尝试使用我在Qt Widgets项目中找到的代码。当我尝试运行程序时,Qt没有检测到任何错误。
然而,当我试图使用on_pushButton_clicked()显示结果时,我的程序崩溃了。
我的讲师怀疑应该有一个开环,但我没有看到任何。
任何帮助都将非常感激。
下列代码:
double function1(double q)
{
double ab = ((q*q*q)+(9*q*q)-(15*q)+98)*(sin(q));
return ab;
}
void MainWindow::on_pushButton_clicked()
{
ui->label->setText(tr("%1").arg(func1()));
}
double MainWindow::func1()
{
std::setprecision(4);
double precision = 0.001;
double a = -10;
double b = -9;
double product = function1(a)*function1(b);
double absolute = fabs(a-b);
double e = 0;
if (product>0)
{
++a;
++b;
}
else
{
while (absolute >= precision)
{
e = (a + b) / 2;
double fa = function1(a);
double fe = function1(e);
if (fe == 0)
{
return e;
break;
}
if (fa*fe>0)
{
a = e;
}
else if (fa*fe<0)
{
b = e;
}
}
}
return e;
}
尝试在每次循环发生时打印出绝对值和精度的值:
while (absolute>= precision)
。这应该能帮你弄明白。
如果当你点击"调用" on_pushButton_clicked的按钮时程序崩溃,那么这个槽里面就有问题。
首先,所有的堆内存对象都是用一个新的语句(特别是标签)创建的吗?PS:你可以删除break指令,函数已经退出while循环,因为返回在前一行。
相关文章:
- 我的代码中有错误吗?使用BGI图形的C++代码对我不起作用
- 我的代码中有错误,未声明的标识符
- C++ LeetCode #377 的 DP 解决方案中,此代码是否有错误?
- 试图建立银行管理系统,但有错误
- 我试图创建临时对象的方式有错误吗
- 我的随机生成器是否不工作,或者我决定人/骨架是否击中对手的方式是否有错误
- 我在OpenCV中有错误的"approxPolyDP(ROI_Vertices, ROI_Poly, 1.0, true)"
- 我在这个 C++ 代码上有错误吗?
- 是视觉C++优化器错误还是我的代码中有错误?
- 为什么一个简单的C++程序会有错误的结果?是 #define 引起的吗?
- 对此有错误
- C :数据文件有错误:预期的无限制ID
- 一个带有参数的程序,为什么此程序有错误的答案
- 仅使用boost.datetime在Windows上有错误
- 使用向量循环时,是否有错误
- Microsoft Visual Studio发现我所有的CUDA设备端函数都有错误
- 继承默认构造函数在 gcc 中失败并在 clang 中工作,哪个有错误?
- 为什么有错误未定义_getws_s
- 在快速排序程序中有错误
- 核心转储,但是找不到错误位置,有GDB的错误信息