2017-09-26 40 views
3

我試圖使用C++在Visual Studio 2017年17 [[fallthrough]]屬性應用到:屬性 '下通' 不能在這方面

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; 

,但我得到的編譯器錯誤:

attribute 'fallthrough' cannot be applied in this context

這似乎是唯一的上下文,您可以使用[[fallthrough]] ...我做錯了什麼?

回答

5

給出了這個神祕的錯誤,因爲[[fallthrough]]屬性需要用分號來終止它們。重寫案例陳述爲

case 2: 
    [[fallthrough]]; 
case 3: 
    [[fallthrough]]; 
// ... 

解決了錯誤。

+4

要添加,屬性需要附加到* something *,無論它是類,函數,語句...分號允許它應用於空語句。 – chris

相關問題