Skip to main content

Compilerwarnung C0406

Meldung: Die implizite Prüffunktion '<Name der Prüffunktion>' ist durch eine andere Variable oder Funktion verschattet. Prüfungen werden nicht durchgeführt. Lösen Sie den Konflikt und bereinigen Sie die Applikation, um die Prüffunktion zu verwenden.

Mögliche Fehlerursache: Eine Methode eines Bausteins hat den gleichen Namen wie eine implizite Prüffunktion.

Fehlerbehebung: Benennen Sie die Methode um oder entfernen Sie die implizite Prüffunktion.

Beispiel 474. Beispiel für die Warnung
// Automatically generated code: Do not edit
FUNCTION CheckBounds: DINT
VAR_INPUT
      index, lower, upper:DINT;
END_VAR

FUNCTION_BLOCK TestFB
VAR
      a:ARRAY [0..1] OF INT;
      i : INT;
END_VAR
a[i] := i;

METHOD CheckBounds:DINT
VAR_INPUT
      index, lower, upper : DINT;
END_VAR

Der Array-Zugiff im Baustein TestFB produziert die folgende Warnung.

Meldung:

C0406: Die implizite Prüffunktion 'CHECKBOUNDS' ist durch eine andere Variable oder Funktion verschattet. Prüfungen werden nicht durchgeführt. Lösen Sie den Konflikt und bereinigen Sie die Applikation, um die Prüffunktion zu verwenden.