|
데큐를 이용해 프로그램을 만들고 있는데요...
char * 라서 그런지...
함수 1에서 push_back(); 하고
함수 2에서 front(); 하면... 이상한 값들이 나오게 됩니다....
함수 1에서 함수 끝나는 동시에 char*가 소멸되어 push_back() 했던 값 들이 같이 소멸되서 그런건지..
아니면 제가 잘못 이해하고 있는건지... 도와주시면 감사하겠습니다...
ex)
.h
deque<char*> dq;
.cpp
// 함수 1
void __fastcall TForm1::Button1Click(TObject *Sender)
{
char ch[] = {'A','B','C','D'};
dq.push_back(ch);
}
// 함수 2
void __fastcall TForm1::Button2Click(TObject *Sender)
{
char* ch = dq.front();
Memo1->Lines->Add(ch);
}
|