问题描述
为什么这个递归函数还是会导致栈溢出?
void DrawSierpinskiTriangle(const Point2f& left,const Point2f& top,const Point2f& right)
{
if (right.x - left.x <= 100)
{
return;
}
DrawTriangle(left,top,right);
SetColor(0,1,0);
DrawSierpinskiTriangle(Point2f{ right.x / 4.f,top.y / 2.f },Point2f{ right.x / 4.f * 3,top.y / 2.f });
SetColor(0,1);
DrawSierpinskiTriangle(Point2f{ right.x / 2,left.y },right);
SetColor(1,0);
DrawSierpinskiTriangle(left,Point2f{ top.x / 2.f,Point2f{ top.x,left.y });
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)