C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[9589] Re:[질문] this의 상위를 나타내려면 어떻게....
박지훈.임프 [cbuilder] 793 읽음    2001-08-05 04:51
임프랍니다.

졸린 눈으로 보느라 제대로 봤는지 잘 모르겠는데..
void Remove(List* First)
{
        if(previous==NULL) First=next;
        else previous->next = next;
}

여기서,
if(previous==NULL) First=First->next;
라고 해야 할 거 같은데요..

그럼 이만...


이학균 님이 쓰신 글 :
: 안녕하세요...
: struct ListKind {
:        List* ListMain;
:        List* ListFirst;
:        List* ListLast;
:        }
: 라고 선언해서
: ListKind *ClientList;
: ClientList = new ListKind;
: 로 선언을 했거덩요..
:
: List 클래스는..
: class List
: {
: public: 
:         String IPAddress;
:         List* next;
:         List* previous;
:
:         void __fastcall Remove(List* First);
: }
: 라고 해 놨는데...
:
: ClientList->ListMain->Remove(ClientList->ListFirst);
: 로 넘겨서..... Remove함수내에서 ClientList->ListFirst값을 저장해야 되요...
:
: void Remove(List* First)
: {
:       if(previous==NULL) First=next;
:       else previous->next = next;
: }
:
: 라는 식으로 링크드 리스트의 Remove문을 구현했어요.. 리스트의 2~끝까지는 잘 삭제가 되는데....
: 처음 부분에 에러가 나는군요.. ClientList->First에 이 값이 제대로 저장이 된다면 첫번째도
: 제대로 삭제된다는건 다른 예제를 통해서 직접 확인했구요.. 아마 안되는건...
: Remove함수에서 First라는 변수가 그 값이 제대로 저장이 되지 않아서 그런거 같군요...
:
: 질문의 요점은... ClientList->ListMain에서 Remove함수를 호출하면.. Remove함수에서 this로 엑세스가 가능한데....
: 이 윗단. ClientList를 나타낼려면 어떻게 해야 하나요? 가르쳐 주세요....
: ClientList->ListFirst값을 직접 넘겨서 포인터로 저장을 해본 소스가 위의 방법대로 한건데...
: 이렇게 하니깐 저장이 안되더라구요.. 꼭 좀 도와주세요...
:

+ -

관련 글 리스트
9532 [질문] this의 상위를 나타내려면 어떻게.... 이학균 746 2001/08/02
9589     Re:[질문] this의 상위를 나타내려면 어떻게.... 박지훈.임프 793 2001/08/05
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.