我正在嘗試為我的除錯設定一個條件斷點,但 VS 不斷向我回傳此錯誤:

如果運算子 != 是為字串定義的,怎么會這樣?
變數誤差為std::string
uj5u.com熱心網友回復:
您可以采取許多解決方法,例如,撰寫您的條件的更好方法是:
!errors.empty()
您還size()可以與 0 進行比較c_str(),回傳一個 C 字串,您可以針對 測驗第一個元素\0,等等。
至于您的行不起作用的原因是條件除錯器很可能無法決議多載的運算子。也許檢查非隱式構建string(即error != string{})會更好,或者使用更新的 VS 版本,但實際上您可以看到這是多么浪費,而不是僅僅檢查empty()函式結果。
uj5u.com熱心網友回復:
暫時將這樣的內容添加到您的代碼中可能會這樣做:
const auto s = string_i_want_to_test_to_see_if_its_empty.c_str ();
然后對于條件斷點,運算式將是:
s [0] != 0;
在添加斷點之后立即將該斷點放在該行上。希望在除錯版本中,它不會得到優化。如果是這樣,我相信你會想辦法解決它。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/485142.html
