Skip to main content

Compilerwarnung C0269

Meldung: Die Instanz, auf die <pointer dereferencing> zeigt, wird für virtuelle Funktionsaufrufe reinitialisiert. Stellen Sie sicher, dass <pointer dereferencing> nicht auf einen Typ zeigt, der von <base FB> abgeleitet ist.

Mögliche Fehlerursache: Es wird die Adresse eines abgeleiteten Bausteins als Adresse des Basisbausteins verwendet.

Beispiel 463. Beispiel für die Warnung
FUNCTION_BLOCK FBBase
...

FUNCTION_BLOCK FBDerived EXTENDS FBBase
...

FUNCTION_BLOCK FB EXTENDS Base_FB
...
PROGRAM PLC_PRG
VAR
      pinst : POINTER TO FBBase;
      inst2_2 : FBDerived;
END_VAR
pinst := ADR(inst2_2);
pinst^ := inst2_2;

Die Pointer-Dereferenzierung produziert die folgende Warnung.

Meldung:

C0269:  Die Instanz, auf die pinst^ zeigt, wird für virtuelle Funktionsaufrufe reinitialisiert. Stellen Sie sicher, dass pinst^ nicht auf einen Typ zeigt, der von FBBase abgeleitet ist.



: