是否有@运营商的类型安全版本?或者可以打开的编译器警告?

soi*_*oid 4 delphi

以下代码不会在D6中生成编译器警告.当我告诉ps指向一个字符串时,我可以告诉我将ps指向一个整数吗?

procedure Test;
var
  i: integer;
  s, m: string;
  ps: ^string;
begin
  s := 'Test message';
  ps := @s;
  m := ps^;
  MessageDlg(m, mtInformation, [mbOK], 0);  // This displays 'Test message'.
  ps := @i;  // I would like a warning here.
  m := ps^;
  MessageDlg(m, mtInformation, [mbOK], 0);  // This might display garbage.
end;
Run Code Online (Sandbox Code Playgroud)

klu*_*udg 7

使用Type-checked指针({$ T +}指令)