符号C ++的堆栈溢出错误

时间:2015-06-06 06:01:57

标签: c++ stack-overflow symbolic-math

最简单的问题是:

Symbolic x("x");
Symbolic y("y");
Symbolic a("a");
Symbolic ans;
a = 1.1;
ans = a ^ (x + y);
std::cout << ans;

基本上,这会开始无限递归循环并导致堆栈溢出。

如果a = 0或a = 1,则不会发生堆栈溢出,因为0 ^ x = 0且1 ^ x = 1.如果a未设置为常量值,则将打印&#34; a ^(x + Y)&#34;因为那不能简化。制作一个整数(1和0除外)不会改变任何东西。

最佳地,这将打印&#34;(1.1)^(x + y)&#34;因为没有办法简化。

我想知道是否有人之前有这个问题或知道解决方法。我尝试谷歌搜索,但这个网站使得无法使用谷歌找到有关Stack Overflow错误的信息。

0 个答案:

没有答案