Ich möchte alle Orte in meinem Code (C++) sehen, die den Rückgabewert einer Funktion ignorieren. Wie kann ich es tun - mit GCC oder statischen Code-Analyse-Tool?Wie wird eine Warnung ausgegeben, wenn der Rückgabewert nicht beachtet wird?
Bad Codebeispiel:
int f(int z) {
return z + (z*2) + z/3 + z*z + 23;
}
int main()
{
int i = 7;
f(i); ///// <<----- here I disregard the return value
return 1;
}
Bitte beachten Sie, dass:
- es funktionieren soll, auch wenn die Funktion und ihre Verwendung ist in verschiedenen Dateien
- kostenlos statische Überprüfung Werkzeug
Dies wird viele Warnungen ausgeben, wenn Sie zum Beispiel 'printf' verwenden. –
Es wird auch auf Ihrem 'Cout' ausgelöst. – Bill
Der "wahrscheinliche" Grund, warum es nicht über die Befehlszeile erzwungen werden kann, besteht darin, dass Sie, wenn Sie einen gültigen Grund haben, ein Ergebnis zu ignorieren, eine "unbenutzte Variable" zuweisen müssen, die eine Warnung generiert. Zum Beispiel wollen Sie sicher nicht, dass T & operator = (T rhs); Sie zwingt, das Ergebnis abzufangen;) –