Beim Aufruf von Funktionen, die immer aus einer Funktion werfen, die einen Wert zurückgibt, warnt der Compiler oft, dass nicht alle Kontrollpfade einen Wert zurückgeben. Das ist legitim.
void AlwaysThrows() { throw "something"; }
bool foo()
{
if (cond)
AlwaysThrows();
else
return true; // Warning C4715 here
}
Gibt es eine Möglichkeit, den Compiler zu sagen, dass AlwaysThrows tut, was es sagt?
Ich bin mir bewusst, dass ich eine weitere throw
nach dem Funktionsaufruf:
{ AlwaysThrows(); throw "dummy"; }
Und ich weiß, dass ich die Warnung explizit deaktivieren kann. Aber ich habe mich gefragt, ob es eine elegantere Lösung gibt.