|
답변감사합니다. 추가질문인데요!
동적으로 생성하는 위치가 아래 함수 Result() 안에서 하려면 어떻게 해야하나요?
김태선 님이 쓰신 글 :
: 호출 함수 내부에서 생성 생성하려면
: 포인트 변수 자체를 포인트로 전달해야 합니다.
:
: main
: {
: POINT* pptLink = NULL;
: Search(&pptLink); <= Search()함수 내부에서 동적으로 생성한 이후에
: ...
: delete [] pptLink; <= 결과를 받아 처리한 이후에 delete하는 구조로 변경하고자 함
: }
:
:
: 받는 쪽에서는 생성해서 사용하면 됩니다.
:
: void Search(POINT** pptLink)
: {
: // 배열 생성
: *pptLink = new POINT[....];
: ...
: Result(*pptLink);
: ...
: }
:
:
:
:
: 조영일 님이 쓰신 글 :
: : 아래와 같은 기능을 구현하려고 하는데, 정확한 배열의 갯수를 호출된 함수에서 알 수 있어서, 이를 동적으로 처리하고자 합니다.
: : 도움 부탁드립니다.
: :
: : main
: : {
: : POINT* pptLink = NULL;
: : pptLink = new POINT [10000]; <= 이렇게 생성하지 않고
: : Search(pptLink); <= Search()함수 내부에서 동적으로 생성한 이후에
: : ...
: : delete [] pptLink; <= 결과를 받아 처리한 이후에 delete하는 구조로 변경하고자 함
: : }
: :
: : void Search(POINT* pptLink)
: : {
: : ...
: : Result(pptLink);
: : ...
: : }
: :
: : void Result(POINT* pptLink)
: : {
: : CLink* pLink = NULL;
: : for( int i = m_nSearchStep-1; i >= 0; i-- )
: : {
: : pLink = (CLink*)m_pLinkQueue->GetAt(i);
: : pptLink[i].x = pLink->m_ptCurr.x;
: : pptLink[i].y = pLink->m_ptCurr.y;
: : }
: : }
|