請考慮以下代碼段
//foo is just a random function which returns error code
if(int err = foo() == 0){
//err should contain the error code
...
}
問題在于err包含 的結果foo() == 0,而我要評估的內容int err = foo();則是if(err == 0)在if陳述句內部。
我已經嘗試過了if((int err = foo()) == 0),但它不起作用。
另外,我不想做int err; if((err = foo) != 0))。
這可能嗎 ?
uj5u.com熱心網友回復:
對于 C 17 及以后的版本,您可以使用帶有初始值設定項的 if 陳述句:
if (int err = foo(); err == 0) {
...
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/384811.html
