我不太了解C ++,也不知道为什么,但是发生了此错误: 浮点异常(核心已转储)
我不知道该如何解决。
public function findAuth(\Cake\ORM\Query $query, array $options)
{
debug($options);
$query->select(['sno', 'username', 'password','contact']));
return $query;
}
答案 0 :(得分:1)
从直觉上讲,“浮点异常”是当您尝试执行整数除以零时,CPU和/或操作系统抛出的异常。
C ++使此操作不确定。您的计算机完全禁止使用它。
使用调试器逐步执行程序时,请检查所有变量,并记住1 / 10
为零,而不是0.1,因为它是整数除法。 (此错误会传播到循环的下一个迭代中,在该循环中,您尝试将此零值用作除数。)
将浮点数除以零的定义更加明确,而ISTR则会将特殊值 inf 排除在外。
答案 1 :(得分:0)
无论何时“核心转储”,您都可以使用GDB调查崩溃:gdb binary core
。这是您的代码中发生的事情:
Program terminated with signal SIGFPE, Arithmetic exception.
#0 (...)
at (...):LINE_NUM
LINE_NUM help = (a /(d * g)) *(d /f);
在第二次迭代期间,您的f
和g
已经等于0。在Linux中,您可以捕获SIGFPE
信号并处理错误,或者您可以在之前检查代码中的变量进行除法。
答案 2 :(得分:0)
更好地使用:
<key>LSApplicationQueriesSchemes</key>
<array>
<string>whatsapp</string>
</array>
表示整数值。 还要在除法前检查 g 和 f 不等于零。
我希望这会有所帮助;)