编译器警告 C0269
信息:<pointer dereferencing> 指向的实例将重新初始化以进行虚拟函数调用。确保 <pointer dereferencing> 不指向从 <base 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 派生的类型。
: