У меня есть класс ScopedLock
, который может автоматически освобождать блокировку при выходе из области видимости.
Однако проблема заключается в следующем: иногда члены команды пишут неверный код блокировки, например
{
ScopedLock(mutex); // anonymous
xxx;
}
Вышеприведенный код неверен, поскольку объект ScopedLock
создается и разрушается немедленно, поэтому он не может заблокировать ожидаемую область (xxx
). Я хочу, чтобы компилятор дал ошибку при попытке скомпилировать такой код. Это можно сделать?
Я выполнил поиск g++
параметров предупреждения, но не смог найти правильный.