-4
typedef struct
{
int day;
int month;
int year;
} Date;
typedef struct
{
int a;
int s;
} MetaData;
struct A
{
char arrA[10];
char arrB[10];
Date date;
A(char * arrA, char *arrB, const Date& date)
{
strcpy(this->arrA, arrA);
strcpy(this->arrB, arrB);
this->date = date;
}
A(const A& a)
{
strcpy(this->arrA, a.arrA);
strcpy(this->arrB, a.arrB);
this->date = a.date;
}
};
bool operator < (const A & lhs, const A & rhs)
{
if(strcmp(lhs.arrA, rhs.arrA) == 0)
{
if(strcmp(lhs.arrB, lhs.arrB) == 0)
return false;
else return strcmp(lhs.arrB, lhs.arrB);
}
else
return strcmp(lhs.arrA, rhs.arrB);
}
typedef map<A, MetaData> TickerMap;
int main()
{
TickerMap tickerMap;
char x[10], y[10];
Date date;
A a(x, y, date);
MetaData m;
//tickerMap.insert(make_pair(a, m));
cout<<"The element is sucessfully inserted"<<endl;
return 0;
}
구조체를 생성 할 때마다지도에 객체를 삽입 할 때 런타임 오류가 발생합니다. 누군가 제발 정확한 문제를 말해 줄 수 있어요. 그것은 매우 helful 될 것입니다. 정상적인 구조체 (C 스타일)가있을 때 삽입하는 동안 문제가 없습니다.구조체를 cpp 스타일로 변경하면 런타임 오류가 발생합니다.
오류 : 런타임 확인 오류 # 2 - 'date'변수 주위의 스택이 손상되었습니다. (Visual Studio)
Q : 런타임 오류 란 무엇입니까 ??? – paulsm4
질문을 편집하고 표시된 런타임 오류 정보를 추가 할 수 있습니다. –
프로그램이 Visual Studio에서만 작동합니다. 나는 gcc에서 실행을 시도했다. 그것은 거기에 좋다 .. –