掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
質問です。 (ID:33421)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
DelphiとCの言語仕様の違いによるものでしょうね。 C++の場合、signedとunsignedには同じビット値をどう解釈するかという 違いしかありません。符号つきでも符号なしでもintはintなので intの方のオーバーロードが選択されます。 一方Pascalでは、整数は厳密に範囲を持つ型として定義されています。 DWord: 0..4294967295 Integer: -2147483648..2147483647 Int64: -2^63..2^63-1 Delphiでオーバーロードを解決する際には、 パラメータに適合する最も小さな範囲の型が選択されます。 (ヘルプの「手続きと関数のオーバーロード」を参照) この場合、Integerは適合しない(DWordの全範囲を含んではいない)ので、 適合する最も小さな範囲の型はInt64ということになります。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.