Keil EFM8-Warnung C280 beheben: unreferenced local variable

English Deutsch

Problem:

Sie haben eine C-Funktion wie

myfunc.c
int myfunc(int value) {
  return 0;
}

aber Sie sehen eine Keil-Compiler-Warnung wie

keil-warning.txt
*** WARNING C280 IN LINE 7 OF C:\Users\uli\MyProject\src\main.c: 'value': unreferenced local variable

Lösung

'value': unreferenced local variable bedeutet, dass Sie die Variable value in keiner Weise verwenden.

In der oben gezeigten Funktion können Sie sehen, dass value das Argument von myfunc ist, aber myfunc die Variable nie tatsächlich verwendet.

Denken Sie, dass die Variable in dieser Funktion verwendet werden sollte?

Sie müssen Ihre Funktion auf Tippfehler überprüfen - die Variable wird überhaupt nicht verwendet. Möglicherweise verwenden Sie die falsche Variable oder Ihrer Funktion fehlt ein Teil ihrer Logik.

Möchten Sie die Variable überhaupt nicht verwenden?

Normalerweise können Sie dem Compiler mitteilen, dass Sie die Variable nicht verwenden möchten, mit

suppress-unused.c
(void)value;

aber das wird eine expression with possibly no effect-Warnung erzeugen.

keil-warning-expression.txt
*** WARNING C275 IN LINE 7 OF C:\Users\uli\MyProject\src\main.c: expression with possibly no effect

Sie können diesen Trick verwenden, um diese Warnung zu vermeiden:

avoid-unused.c
r = r; // Unbenutzte lokale Variable vermeiden

Check out similar posts by category: C/C++, EFM8