为什么这个递归函数仍然会导致堆栈溢出?

问题描述

为什么这个递归函数还是会导致栈溢出?

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 (将#修改为@)