AdaのディレクトリライブラリとCommand_Lineライブラリを使用しており、コマンドラインで指定されたテキストファイルの文字数(サイズ)を読み取り、整数に割り当てています。
Character_Count := Size(Argument(1));
File_SizeはIntegerのサブタイプですが、コンパイラーはIntegerとFile_Sizeが一致しないと言っていますが、私はかなり確信しています。どうすれば変換できますか?
AdaのディレクトリライブラリとCommand_Lineライブラリを使用しており、コマンドラインで指定されたテキストファイルの文字数(サイズ)を読み取り、整数に割り当てています。
Character_Count := Size(Argument(1));
File_SizeはIntegerのサブタイプですが、コンパイラーはIntegerとFile_Sizeが一致しないと言っていますが、私はかなり確信しています。どうすれば変換できますか?
Ada.Directories.File_Size
のサブタイプではありませんInteger
。
言語リファレンスマニュアルでは、次のように定義されています。
type File_Size is range 0 .. *implementation-defined*;
あなたがそれについて考えるならば、それがサブタイプであることはあまり意味がありません。Integer
16ビットまで狭くすることができますが、これは任意のファイルのサイズを保持するのに十分ではありません。
変換を使用して整数に変換できます。
Character_Count := Integer(Size(Argument(1)));
しかし、そもそもCharacter_Count
として宣言する方がはるかに良いでしょう。File_Size