2017-12-25 8 views
0

가 나는 무료 파스칼 컴파일러 - 치명적 : 구문 오류, "OF"가 예상되었지만 "["이 (가) 발견되었습니다 ...?

Player
가 사용자 정의 record.Here입니다이 절차를 정의하는 절차입니다 :

procedure print_scores(players : array[1..2] of Player); 
begin 
    writeln; 
    writeln(' Player 1 (', players[1].player_name.firstname, ' ',players[1].player_name.lastname, ') |=| ', players[1].score); 
    writeln(' Player 2 (', players[2].player_name.firstname, ' ',players[2].player_name.lastname, ') |=| ', players[2].score); 
    writeln; 
end; 

그러나 나는이 오류를 얻을 : 나는 확인했다

main.pas(9,39) Fatal: Syntax error, "OF" expected but "[" found

과 선을

procedure print_scores(players : array[1..2] of Player); 

은 라인 # 9입니다.

+0

... (39)는 개구 브래킷 '['배열 '에서 [1..2]'의 라인 9에서의 문자 위치이다. – CiaPan

+0

@CiaPan 예 :). 그러나 나는 왜 내가 오류를 가지고 있는지 몰랐다. 이제 알았어. – Geek

답변

2

프로 시저 인수 목록의 배열 유형을 지정하십시오. 별도로 정의해야합니다.

type 
    TPlayers = array[1..2] of TPlayer; 

는 절차는 :

procedure print_scores(const Players: TPlayers); 
+1

실제로 FreePascal에는 없지만 일부 다른 파스칼에서는 예를 들어 다음과 같이 할 수 있습니다. [ISO Pascal] (http://www.pascal-central.com/iso7185.html#6.6.1%20Procedure-declarations) (예 1). –

+0

이들은 합치고있는 배열이고 기본 파스칼 수준 (0)의 일부가 아닙니다. –