-2
我剛剛發現了一種內聯方式,如果(A?B:C)在switch語句中無法按預期方式工作。C++內聯,如果在開關中失敗
其中A是一個布爾型,B和C都是不等於0的整數。當置於開關內部時,此語句的結果爲0。
我找到了一個stackoverflow post [1]這個行爲被提及但我找不到任何解釋爲什麼這不起作用,因爲我期望。這是什麼造成的?
例如:
int foo = 6;
switch(foo)
{
case 6:
return 10 + true ? 2 : 4;
}
[1] Benefits of inline functions in C++?
請給出你的意思的代碼示例。 –
這就是所謂的「條件運算符」或「三元運算符」,而不是「內聯if」。鏈接的討論是關於內聯函數,它們是無關的。發佈一些代碼。 –
你的意思是'switch(a?b:c){...}'? – MSN