1

AdaのディレクトリライブラリとCommand_Lineライブラリを使用しており、コマンドラインで指定されたテキストファイルの文字数(サイズ)を読み取り、整数に割り当てています。

Character_Count := Size(Argument(1));

File_SizeはIntegerのサブタイプですが、コンパイラーはIntegerとFile_Sizeが一致しないと言っていますが、私はかなり確信しています。どうすれば変換できますか?

4

1 に答える 1

3

Ada.Directories.File_SizeのサブタイプではありませんInteger

言語リファレンスマニュアルでは、次のように定義されています。

type File_Size is range 0 .. *implementation-defined*;

あなたがそれについて考えるならば、それがサブタイプであることはあまり意味がありません。Integer16ビットまで狭くすることができますが、これは任意のファイルのサイズを保持するのに十分ではありません。

変換を使用して整数に変換できます。

Character_Count := Integer(Size(Argument(1)));

しかし、そもそもCharacter_Countとして宣言する方がはるかに良いでしょう。File_Size

于 2013-02-26T01:19:05.760 に答える