diff --git a/base/include/safe_queue.h b/base/include/safe_queue.h index 5cc468273e6157ed130e6129ddd66838cee99348..08929f1c8a6e2a40b69f52bafe4ba5289d90bf39 100644 --- a/base/include/safe_queue.h +++ b/base/include/safe_queue.h @@ -49,10 +49,15 @@ public: } } - void Erase(T& object) + void Erase(const T& object) { std::lock_guard lock(mutex_); - deque_.remove(object); + for (auto iter = deque_.begin(); iter != deque_.end(); iter++) { + if (*iter == object) { + deque_.erase(iter); + break; + } + } } bool Empty()