h_feiyu
h_feiyu
采纳率52.9%
2017-08-12 01:49

bool型函数返回值的问题,急求!!

1
已采纳

其中一段代码如下:当MIOComm返回值为false时,需要 ExecueCommand返回值false,否则返回true。
Q:bool型函数的返回值return false/true这样可以实现功能吗?遇到return语句后的delete和break还会执行吗?多谢!!
bool ExecueCommand(byte pCommand,int iFrameDataLen)
switch( pCommand[3] )
{
case 0x70:
{
int nLLD=0;
nLLD = ( pCommand[ 5 ] <<8 ) & 0x000000ff;
nLLD|=( pCommand[ 6 ]<<0 ) & 0x0000ff00;
char *cmd_12=new char4;
_itoa_s(nLLD,cmd_12,4,10); //itoa(int,char
,int) 转换整型为字符型
char cSetLLD[20]="SET_LLD ";
strcat_s(cSetLLD,20,cmd_12); // strcat()将char 型连接

    if(FALSE==MIOComm(hDet[i],cSetLLD,"",NULL,0,NULL,NULL))
    {
        return false;
        /*switch(MIOGetLastError(NULL,NULL))
        {

        }*/
    }
    else
    {
        return true;
    }

    delete [] cmd_12;
    break;

}}

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

3条回答

  • drdongshiye 菜鸟腾飞 4年前

    **给你个准确的回答! return 有两个功能 第一个是 用于返回值 第二个 就是用于结束方法 这两种都是开发中最常用到的, 所以无论你返回了什么 会面的语句都不会执行!!!!!!!!!!记住不会执行!!!!!! 还有就是在return 后面写语句 IDE会报错的 !!! 你可以尝试一下 望采纳 **

    点赞 评论 复制链接分享
  • lmb1612977696 幻想之渔 4年前

    delete [] cmd_12;
    break; 这两句不会执行,函数执行遇见return就会返回,后面的语句不会执行。
    if(FALSE==MIOComm(hDet[i],cSetLLD,"",NULL,0,NULL,NULL))也可以写成if(!MIOComm(hDet[i],cSetLLD,"",NULL,0,NULL,NULL))

    点赞 评论 复制链接分享
  • e1256325535 e1256325535 4年前

    可以这样返回,return false之后,函数就执行结束了,不会继续往下执行,所以delete和break不会被执行。

    点赞 评论 复制链接分享