2014-03-28 3 views
0

포인터와 동적 데이터 구조로 단어를 형성하는 프로그램을 작성했습니다파스칼을 사용하여 단어를 형성하는 프로그램.

그러나 작동하지 않고 19 행에 오류가 표시됩니다 (요소가 포인터 유형에 선언되지 않았습니다). 끝내주세요. 나는

program pointers; 

type 
    zv = ^pointer; 

    pointer = record 
    element : char; 
    next : zv; 
    end; 

var 
    vlan : zv; {separate element} 
    vslov : zv; { pointer for word } 
    symbol : char; 

begin 
    readln(symbol); 
    new(vslov); 

    vslov^.element := symbol; 
    vslov^.next := nil; 
    vlan := vslov; 

    while symbol <> '.' do 
    begin 
     read(symbol); 
     new(vlan^.next); 
     vlan := vlan^.next; 
     vlan^.element := symbol; 
     vlan^.next := nil; 
    end; 
end. 
+0

작은 프로그램을 디버깅하는 방법을 배우려면이 기사를 권장합니다. http://ericlippert.com/2014/03/05/how-to-debug-small-programs/ –

답변

1

pointer는 미리 정의 된 형식 이름입니다 감사합니다. 유형이 지정되지 않은 포인터를 나타내는 데 사용되는 유형입니다. 따라서 zv은 포인터에 대한 포인터입니다. 그리고 미리 정의 된 유형 pointer은 레코드가 아니므로 멤버 액세스 연산자 .과 함께 사용할 수 없습니다.

레코드 유형에 다른 이름을 선택하여 문제를 해결하십시오.

관련 문제