좋아요, 그래서 7 자리 입력을 알려진 7 자리 입력 세트와 비교하고 그 사이의 거리를 찾는 프로그램을 작성하고 있습니다. 모든 것은 내가 "인덱스의 컴퍼넌트에 필요한 배열 유형이"인덱싱 된 구성 요소에 배열 유형이 필요합니다. ADA
pickbit1:
FOR X IN 1 .. 7 LOOP
pickdigit1:
FOR Y IN 0 .. 9 LOOP
IF a1(X) /= Compare(Y)(X) THEN
d1(X)(Y) := d1(X)(Y) + 1;
END IF;
END LOOP pickdigit1;
END LOOP Pickbit1;
오류가 루프에 대한 두 번째가 생성되는 라인에서 발생하는 내용의 오류를 받고 있어요는 사실을 제외하고 잘 컴파일합니다. 왜 거기에 배열의 색인을 참조하는 오류가 있을지 모르겠다. 내 배열 유형은 다음과 같습니다.
subtype segment is Character range '0' .. '1';
subtype distance is Integer;
subtype c is Character range ' ' .. ' ';
type Segment_Array is array(1 .. 7) of segment;
type Digit_Array is array(1 .. 7) of Character range '0' .. '1';
type Compare_Array IS array(0 .. 9) of Digit_Array;
type Distance_Array IS array(0 .. 9) of distance;
type Total_Array IS array(0 .. 9, 0 .. 9) of Integer;
는 Segment_Array (A1) (D1)는 Distance_Array하고 d1
는 Distance_Array
인 경우 Compare_Array
* 너무 * A [짧은 자체에 포함 된 우리를주는 가까운 컴파일 가능한 예] (http://sscce.org). 그리고 오류 메시지가 내장 된 소스 목록에는'-gnatfl'을 권장합니다. –