Nic*_*aus 7 c++ attributes c++17 visual-studio-2017
我正在尝试[[fallthrough]]在Visual Studio 2017中使用c ++ 17 属性:
Qt::ItemFlags flags = Qt::ItemIsSelectable;
switch (index.column())
{
case 0:
flags |= Qt::ItemIsUserCheckable;
break;
case 2:
[[fallthrough]]
case 3:
[[fallthrough]]
case 4:
flags |= Qt::ItemIsEditable;
break;
}
return flags;
Run Code Online (Sandbox Code Playgroud)
但我得到编译器错误:
属性'fallthrough'不能在此上下文中应用
这似乎是你可以使用的唯一背景[[fallthrough]]......我做错了什么?
Nic*_*aus 12
给出了这个神秘的错误,因为[[fallthrough]]属性需要分号才能终止它们.将case语句重写为
case 2:
[[fallthrough]];
case 3:
[[fallthrough]];
// ...
Run Code Online (Sandbox Code Playgroud)
解决了这个错误.