我正在做一個基於線程的簡單教程。在這個練習中,我應該讓線程等待對方。 我已經逐字複製了示例代碼,但我沒有使用namespace std;
,而是在每次需要時都寫入std::
。condition.wait_for intellisense錯誤
有關該錯誤對應於行:
if (condition.wait_for(std::unique_lock<std::mutex>(mut), std::chrono::seconds(3)))
智能感知告訴我,「表達必須有布爾型(或可轉換爲布爾)」,但我擡起頭的文件上condition.wait_for
和它可以返回std::cv_status::timeout
,std::cv_status::no_timeout
以及true
和false
。當我去建立時,它認爲它只能返回std::cv_status
。
它應該工作正確嗎?它是否需要第三個參數?我遵循的示例不使用一個。
有兩種不同的'wait_for'函數。其中一人返回「bool」,另一人不返回。你打電話給沒有的人。 –