如何在不中断的情况下在C ++中正确使用Fallthrough?

时间:2018-07-21 07:51:52

标签: c++ c++17

以下代码段中出现错误:

   case id_report:
        if (iM == INITIATE)
        {
            *out_MSG = RSRC_UP;
            return RSRC_UP;
        }
        [[fallthrough]];

    case id_initiate:
        if (iMessageType == INITIATE)
        {
            *policyIdx = RSRC_RQST;
            *out_MSG = STATUS_RQST;
            return STATUS_RQST;
        }
        [[fallthrough]];

编译后,我得到了erorr:

MegaUtil.c:915:13: error: expected expression before ‘[’ token
             [[fallthrough]];
             ^
MegaUtil.c:915:15: error: ‘fallthrough’ undeclared (first use in this function)
             [[fallthrough]];

似乎我没有正确使用故障排除。 我该如何解决?

谢谢。

1 个答案:

答案 0 :(得分:1)

我发现我缺少@HolyBlackCat提到的std = c ++ 17标志