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
[24599] Re:Re:Re:[질문]Queue사용에 대해서..
조준회 [] 894 읽음    2003-03-04 15:23
ㅡㅡ;;;

void __fastcall TForm1::Button1Click(TObject *Sender)
{
   for(int i = 1; i <= 10 ; i++)
   {
      Log = new TLOGBUF;
      Log->n = i;
      Log->msg.sprintf("%04d",i);
      que->Push(Log);
   }

처음 소스는 포인터만 있을뿐.. 메모리 할당이 이루어지지 않아서..
전혀 엉뚱한 곳에 데이터를 write하고 있습니다.

void __fastcall TForm1::Button2Click(TObject *Sender)
{
    if(que->Count() > 0)
    {
      Log2 = (TLOGBUF*) que->Pop();  //에러
      ListBox1->Items->Add(IntToStr(Log2->n)+Log2->msg);
   }
}

TQueue는 데이터를 push,pop 할때 .. void * 으로 이루어집니다.
(void 형에 대해서 한번 책을 읽어보실걸 권합니다.)

컴파일은 해보지 않았지만..
아마 위와 같이 하시면 될겁니다.



하안인 님이 쓰신 글 :
: : : void __fastcall TForm1::Button2Click(TObject *Sender)
: : : {
:        Log2 = new TLOGBUF;  //추가
: : :   if(que->Count() > 0)
: : :   {
: : :      Log2 = que->Pop();  //에러
: : :      ListBox1->Items->Add(IntToStr(Log2->n)+Log2->msg);
: : :   }
: : : }
: : :
:  알려주신대로 추가를 해도 컴파일시 Log2 = que->Pop()에서
: cannot convert  'void *' to 'TLOGBUF *' 라는 메시지는
: 계속 나오는데요.
: 다시 한번만 더 알려주시면 안될까요?
: 부탁드립니다...

+ -

관련 글 리스트
24589 [질문]Queue사용에 대해서.. 하안인 895 2003/03/04
24595     Re:[질문]Queue사용에 대해서.. 조준회 903 2003/03/04
24597         Re:Re:[질문]Queue사용에 대해서.. 하안인 793 2003/03/04
24599             Re:Re:Re:[질문]Queue사용에 대해서.. 조준회 894 2003/03/04
24600                 Re:Re:Re:Re:[질문]Queue사용에 대해서.. 하안인 766 2003/03/04
24601                     Re:Re:Re:Re:Re:[질문]Queue사용에 대해서.. 하안인 787 2003/03/04
24605                         Re:Re:Re:Re:Re:Re:[질문]Queue사용에 대해서.. 조준회 945 2003/03/04
24607                             대단히 감사합니다. - 내용무- 하안인 684 2003/03/04
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.