这个计划
{$T+}
var
PA: PAnsiChar;
PW: PWideChar;
s: string;
begin
PA := @s[1];
PW := @s[1];
end.
Run Code Online (Sandbox Code Playgroud)
编译.我希望{$T+}编译器会拒绝其中一项任务.在现代的Unicode Delphi中,我希望第一个赋值是无效的.
类型检查指针的文档说:
当
@应用于状态中的变量引用时{$T+},结果的类型是^T,其中T仅与指向变量类型的指针兼容.
为什么使用键入的地址似乎不适用于上面的代码?
| 归档时间: |
|
| 查看次数: |
296 次 |
| 最近记录: |