Reported by Arsene von Wyss; checked by Jordan Russell
var
S: string;
C: PChar;
P: Pointer;
begin
SetString(S,C,1);
SetString(S,P,1);
end;
二番目の SetString でコンパイラは、"互換性の無い型です" のエラーを出力して止まります。コンパイラは PChar の代用として型無しポインタを受け付けません。
さらに奇妙なことに、次のコードは受け入れられます:
SetString(S,nil,1);
私はこれをバグに分類したいです。なぜなら Delphi のヘルプは、その "型の互換性"において、型無しポインタは任意のポインタ型(PChar を含む)に割り当て可能であると述べているからです。
|