코드는 다음과 같습니다. ... list : TList; ... procedure aaa; var a: integer; begin list.add(@a); end; 과연 이 코드가 올바른 것인지요? 제 생각에는 프로시져를 빠져나가면서 변수 a가 없어지면서 리스트에 추가된 것이 쓸모없어지...
강창석
•
1999.11.09 18:35
김희준 wrote:
> 코드는 다음과 같습니다.
>
> ...
> list : TList;
> ...
>
> procedure a...
> 코드는 다음과 같습니다.
>
> ...
> list : TList;
> ...
>
> procedure aaa;
> var
> a: integer;
> begin
> list.add(@a);
> end;
>
> 과연 이 코드가 올바른 것인지요?
> 제 생각에는 프로시져를 빠져나가면서 변수 a가 없어지면서 리스트에 추가된 것이 쓸모없어지지않나 하는군요... new를 써야하는지요?
>
> 고수님들의 조언을 부탁드립니다.
맞습니다. New를 쓰셔야 합니다.
"제 생각에는 프로시져를 빠져나가면서 변수 a가 없어지면서 리스트에 추가된 것이 쓸모없어지지않나 하는군요" ---> 정확합니다.