我试图更好地理解结构,我需要一些帮助。我想创建一个包含一个结构向量的结构,但我在连接它们时遇到了麻烦。到目前为止,我得到了。
struct Vehicle{
string LicensePlate;
string VehicleType;
vector<string> DamageType;
int EstFixDays;
}veh;
struct DailyCustomers{
string date;
struct Vehicle vehicleList;
}dlc;
int main(){
vector<Vehicle> vehicleList;
struct DailyCustomers dlc;
dlc.date = fileVector[1];
for (int i = 1; i < fileVector.size(); i++){
stringDevide(fileVector[i]);
struct Vehicle veh;
veh.LicensePlate = licensePlate;
veh.VehicleType = vehicleType;
veh.DamageType = vehicleDamageType;
veh.EstFixDays = est;
vehicleList.push_back(veh);
}
dlc.vehicleList = veh;
}
我的程序似乎运行得很好,因为结构的链接没有影响到它, 但我不确定我是否正确地把它们连接在一起了。最后一行应该是在 for
循环?
任何帮助非常感激.谢谢你。
你并没有创建一个包含一个结构向量的结构。你所做的只是创建了一个包含一个结构的结构。你确实有一个结构的向量,但那是在main中,而不是在任何结构中。
你还有其他一些问题,你没有使用全局变量,还有不必要的 struct
的用途。
下面是你应该怎么做
struct Vehicle {
string LicensePlate;
string VehicleType;
vector<string> DamageType;
int EstFixDays;
};
struct DailyCustomers {
string date;
vector<Vehicle> vehicleList; // a vector of structs inside a struct
};
int main() {
DailyCustomers dlc;
dlc.date = fileVector[1];
for (int i = 1; i < fileVector.size(); i++) {
stringDevide(fileVector[i]);
Vehicle veh;
veh.LicensePlate = licensePlate;
veh.VehicleType = vehicleType;
veh.DamageType = vehicleDamageType;
veh.EstFixDays = est;
dlc.vehicleList.push_back(veh);
}
}