|
자답입니다.
TQueue 때문에 그렇게 되는 것이 아니더군요..
AnsiString이 가지고 있는 String Buffer 때문에 이런 에러가 발생하였습니다.
char, int 모두 넣을 수가 있네요..
땅주인 님이 쓰신 글 :
: TQueue에 기본 데이터 타입 ( int, char , .. ) 등은 넣을 수가 없나요?
: 아래와 같이 했는데.. Push()로 밀어 넣을 때 Access Violation이 나 버립니다.
:
: unsigned char *pChar;
: m_pQueue2 = new TQueue();
:
: for ( int i = 0 ; i < 10 ; i++ ) {
: try {
: pChar = new unsigned char(100);
: memset(pChar, 0x00, 100);
: sI = i + "st String";
: memcpy(pChar,sI.c_str(),sI.Length());
: m_pQueue2->Push(pChar);
: } catch ( Exception &ee ){
: MessageBox(NULL,ee.Message.c_str(),"error",MB_OK);
: }
: }
:
: 똑같은 로직으로 Structure를 만들어서 넣으면 괜찮은데..
: TQueue는 기본 데이터 타입은 넣을 수 없는 것인지요?
:
: void * 형이면 아무 거나 넣을 수 있는 것 아닌가요?
|