|
호출 함수 내부에서 생성 생성하려면
포인트 변수 자체를 포인트로 전달해야 합니다.
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;
: }
: }
|