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;
}
每当我用一些构造函数创建一个结构时。当我在地图中插入对象时,它会给我运行时错误。有人可以告诉我确切的问题。这将非常有帮助。当我有正常的结构(C 风格)时,插入过程中没有问题。
错误:运行时检查失败 #2 - 变量“日期”周围的堆栈已损坏。(视觉工作室)