コンパイラ警告 C0269
メッセージ : <ポインタ再参照> が指すインスタンスは、仮想関数呼び出しのために再初期化されます。<ポインタ再参照> が <ベースFB> から派生した型を指していないことを確認してください。
考えられるエラーの原因 : 派生関数ブロックのアドレスは、基本関数ブロックのアドレスとして使用されます。
例 463. 警告の例
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;
ポインタの逆参照により次の警告が生成されます。
メッセージ:
C0269 : pinst^ が指すインスタンスは、仮想関数呼び出しのために再初期化されます。pinst^ が FBBase から派生した型を指していないことを確認してください。
: