相关疑难解决方法(0)

海湾合作委员会第7号, - 明显的通过警告,以及清除它们的便携方式?

我们正在接受GCC 7的警告,因为它在switch语句中是隐含的.以前,我们在Clang下清除它们(这是下面评论的原因):

g++ -DNDEBUG -g2 -O3 -std=c++17 -Wall -Wextra -fPIC -c authenc.cpp
asn.cpp: In member function ‘void EncodedObjectFilter::Put(const byte*, size_t)’:
asn.cpp:359:18: warning: this statement may fall through [-Wimplicit-fallthrough=]
    m_state = BODY;  // fall through
                  ^
asn.cpp:361:3: note: here
   case BODY:
   ^~~~
Run Code Online (Sandbox Code Playgroud)

GCC手册状态使用__attribute__ ((fallthrough)),但它不便于携带.该手册还指出"...也可以添加一个通过注释来消除警告",但它只提供FALLTHRU(这真的是唯一的选择吗?):

switch (cond)
  {
  case 1:
    bar (0);
    /* FALLTHRU */
  default:
    …
  }
Run Code Online (Sandbox Code Playgroud)

对于Clang和GCC,是否有通过警告来清除坠落的便携方法?如果是的话那么它是什么?

c++ gcc warnings switch-statement

31
推荐指数
2
解决办法
1万
查看次数

标签 统计

c++ ×1

gcc ×1

switch-statement ×1

warnings ×1