この質問に対する回答を理解するのは苦労しています。コンパイル時に完全型付きチェック
次のコードを与える:以下の各代入文について
int: size, size2, j;
float: x;
array[1:30] of int: nums;
を、円はか、または完全にコンパイル時に入力し、確認することができないことができるかどうか避けることができます。配列の添え字範囲がその型の一部とみなされると仮定してください。数値のオーバーフローが型エラーとみなされないとします。
A. size = size2 + 1; --> Answer: CAN
B. x = size; --> Answer: CAN
C. nums[j] = 33; --> Answer: CANNOT
D. nums[3] = nums[4]; --> Answer: CAN
E. nums[j] = nums[j+1]--> Answer: CANNOT
コンパイル時エラーは、プログラムが実行中に実行時エラーが発生するマシンコードに変換されるときに発生します。私はまた、コンパイル対実行時エラーに関する次のスタックオーバーフローに関する質問を読んだ:Runtime vs Compile time。両方の話題を研究した後、私はまだ、次の回答がどのように得られたのか混乱しています。どんな助けでも大歓迎です。