if(AbsContainer_MessageBoxPane->QueryFlag(E_FLAG_VISIBLE))
{
return FALSE;
}
请问这里的返回值FALSE是返回到哪里,不是只有函数才有返回值的吗?为啥if语句中也有返回值的?谢谢解答!
这是的返回值是,if所在函数的返回值。
但是那个函数里面有很多If语句,几乎每个if语句都有这样的返回值。那么如果多个判断条件依次满足的话,岂不是有多个返回值么?不太理解这个
@linuxkiller7967:
一旦返回了,后面的代码就不会执行了。
其实你的理解可能被好多个返回值给弄迷糊了,其实函数的返回值就是一个bool类型,true或false,至于你说的很多判断里都有返回值,那是要看这么多的判断里究竟是程序走到哪里出现错误的问题而返回的错误,也就是函数的返回值,所以这就是对函数的调用安全和查找出错位置。
解释的不知道说清楚没有,其他人认为我哪里说的不正确可以指出,我好改正,希望能给你带来帮助。
“要看这么多的判断里究竟是程序走到哪里出现错误的问题而返回的错误,也就是函数的返回值,所以这就是对函数的调用安全和查找出错位置。”这句话没太读明白。能重新解释一下吗?谢谢啊
@linuxkiller7967: 我的意思也就是:你比方我的函数执行很多个判断
bool create(char* serIP, short sndPort, short revPort)
{
if(sndPort <= 0)
{
return false;
}
else IF(revPort <= 0)
{
return false;
}
if(serIP == NULL)
{
return false;//假设说程序执行到这里发现serIP参数为空,前面的判断都正常走,这样我们调试 //就知道是这里出现了问题返回的false,换句话说:如果这里出现了问题函数就返回 //了,下面如果有代码他就不会执行了,不管后面还有多少代码,就在这里返回了,就像其他人所说的程序return了。
}
@励志: 好的,这回很清晰明白了。谢谢你的耐心解答啊