这个函数是永远return 0 吗?
- C/C++ code
uint ShadeWidget::colorAt(int x){ generateShade(); QPolygonF pts = m_hoverPoints->points(); for (int i=1; i < pts.size(); ++i) { if (pts.at(i-1).x() <= x && pts.at(i).x() >= x) { QLineF l(pts.at(i-1), pts.at(i)); l.setLength(l.length() * ((x - l.x1()) / l.dx())); return m_shade.pixel(qRound(qMin(l.x2(), (qreal(m_shade.width() - 1)))), qRound(qMin(l.y2(), qreal(m_shade.height() - 1)))); } } return 0;}
这里面有两个 return , 但是第二个 return 0 每次执行函数都会运行到它, 那岂不是每次使用函数得到的返回值都是 0?
但是第一个return拿来干什么?
谢谢
[解决办法]
任何一个return语句都会使函数立刻返回,另一个return语句不会被运行
执行哪个return语句看你的程序流程而定,不可能执行两个
[解决办法]
这手够新的,先看看语法。
[解决办法]
遇到return 这个函数就结束了
[解决办法]
[解决办法]
是递归么 结合堆栈学习 很容易感悟