我用下面的switch語句得到了一些非常奇怪的行爲使用INT:C++非常怪異的行爲,而在開關
string recognise_mti(int mti_code)
{
switch(mti_code)
{
case 1100:
case 1101:
return (mti_code + " (Auth. Request/Repeat)"); break;
default:
return (mti_code + " (NOT RECOGNISED)"); break;
}
}
它似乎返回各種根據輸入整數事情。這可能會是一個愚蠢的錯誤,但到目前爲止,我無法識別它。感謝任何幫助。
您可能希望更詳細地說明有關接收到的結果。 – LiMar
與你的問題沒有關係,但是在'case'中做'return'作爲唯一的事情時,你不需要'break'。原因是'return'返回,'break'不會被執行。當然,一個現代編譯器可能會注意到這一點,而不是爲'break'生成代碼。 –
@JoachimPileborg啊,我沒有意識到這一點,謝謝! – user1474955