用vector装载自定义类时的copy constructor的问题(急,请帮帮忙)
自己定义了一个名为Vehicle的类,有一个用来初始化的constructor
Vehicle::Vehcile
然后程序中定义了用来装Vehicle的vector,
vector<Vehicle> AllVeh(5);
在代码中定义了一个Vehicle对象,准备将它装入vector AllVeh时出错,
for(int i = 0; i < 5; i++)
{
vehicle myVeh(...);
AllVeh[i] = myVeh; //出错
}
在循环前已经用reserve()指定了vector的capacity, 看帮助中说要在vector中装载自定义的类,这个类必须有copy constructor的,不知道是不是这方面的原因出错,请给我解释一下这个copy constructor.
另外,如果出错的那行代码换为"AllVeh.push_back(myVeh);"则可以成功运行,不过在第二次进入这个循环时(此for循环外还有一层循环)就会报错,对这个错误完全没有头绪,似乎还是出在这个自定义类上的问题.