안녕하세요 급하게 질문이 있어 고수님들께 질문드립니다.
잘 돌아 가는 코드에 아래와 같이 Point_ADD라는 vector를 Info struct에 추가를 하였습니다.
그런데 HEAP[Console_dbg.exe]: Invalid address specified to RtlValidateHeap( 003B0000, 021D19C8 )
에러가 나고 있습니다. Info() 및 Info & operator 에 추가를 안해서 그런거 같습니다만.. ^^;;
vector를 사용할때는 생성자 및 소멸자를 잘 작성이 되어야 된다고 들었습니다.
혹시 아시는 분 있으시면, 도와주시면 정말 감사하겠습니다...ㅠ.ㅠ
class point
{
public:
double m_f64x;
double m_f64y;
double m_f64z;
}
typedef struct Info
{
std::vector<point> Point_ADD;
int RSS
BOOL ACTS;
double Deeps[2];
double GDH[2];
Info()
{
RSS=0;
ACTS = FALSE;
memset(Deeps, 0x00, sizeof(Deeps));
ZeroMemory(GDH, 0x00, sizeof((GDH));
}
Info & operator=(const Info& rack)
{
RSS = rack.RSS;
ACTS = rack.ACTS;
memcpy(&Deeps[0],&rack.Deeps[0],sizeof(Deeps));
memcpy(&GDH[0],&rack.GDH[0],sizeof(GDH));
return *this
}
}Info
|