So vermeiden Sie anonyme C ++ - Objekte

Ich habe einScopedLock Klasse, mit deren Hilfe die Sperre automatisch aufgehoben werden kann, wenn der Gültigkeitsbereich erschöpft ist. Das Problem ist jedoch: Manchmal schreiben Teammitglieder einen ungültigen Sperrcode wie

{
    ScopedLock(mutex);   // anonymous
    xxx;
}

Der obige Code ist falsch, weil derScopedLock Objekt wird konstruiert und zerstörtsofortwird der erwartete Bereich nicht gesperrt (xxx). Ich möchte, dass der Compiler einen Fehler ausgibt, wenn er versucht, solchen Code zu kompilieren. Kann das gemacht werden?

ich habe gesuchtg++ Warnoptionen, finden aber nicht die richtige.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage