Q&A

  • 함수내의 지역변수를 TList에서 Add할 수 있나요?
코드는 다음과 같습니다.



...

list : TList;

...



procedure aaa;

var

a: integer;

begin

list.add(@a);

end;



과연 이 코드가 올바른 것인지요?

제 생각에는 프로시져를 빠져나가면서 변수 a가 없어지면서 리스트에 추가된 것이 쓸모없어지지않나 하는군요... new를 써야하는지요?



고수님들의 조언을 부탁드립니다.

1  COMMENTS
  • Profile
    강창석 1999.11.09 18:35
    김희준 wrote:

    > 코드는 다음과 같습니다.

    >

    > ...

    > list : TList;

    > ...

    >

    > procedure aaa;

    > var

    > a: integer;

    > begin

    > list.add(@a);

    > end;

    >

    > 과연 이 코드가 올바른 것인지요?

    > 제 생각에는 프로시져를 빠져나가면서 변수 a가 없어지면서 리스트에 추가된 것이 쓸모없어지지않나 하는군요... new를 써야하는지요?

    >

    > 고수님들의 조언을 부탁드립니다.





    맞습니다. New를 쓰셔야 합니다.



    "제 생각에는 프로시져를 빠져나가면서 변수 a가 없어지면서 리스트에 추가된 것이 쓸모없어지지않나 하는군요" ---> 정확합니다.