Мне нужна небольшая помощь с вектором вектора, когда тип является классом. «loadTruck» - мой класс. Я хочу сохранить значения из моего класса loadTruck в 2D-вектор в этом порядке: vector (truck, print). И «грузовик», и «печать» - это тип класса «loadTruck». Я хочу получить доступ к этому вектору: например, можно сказать, что «печать» - это пакет, а «грузовик» - грузовик. Я хочу получить информацию о пакете в грузовике 1 с идентификатором пакета 20. Я совершенно смущен этим.Многомерный вектор типа класса
vector<vector <loadTruck>> jedinecTruck;
loadTruck truck;
while (warehouseIsEmpty == False)
{
truck.resetTruck();
for (int i = 0; i < numOfPackages; i++)
{
vector<loadTruck> print;
if (store2D[i].checkIfPackageIsThere() == true)
{
truck.setPackageSize(store2D[i].getPackageWidth(), store2D[i].getPackageHeight());
if (truck.checkIfPackageCanBeLoaded() == true)
{
print.push_back(truck);
truck.loadPackageInTruck();
store2D[i].deletePackage();
}
}
}
jedinecTruck.push_back(truck);
}
Версия с 3D-массив, \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ теперь программа работает хорошо, но массив не очень хорошая идея, но я надеюсь, что она поможет вам понять, что я хочу делать. Мне нужно использовать вектор, потому что я не могу определить первые 2 элемента массива, это зависит от алгоритма и всегда меняется. Для этого примера я предполагаю, что первые два элемента будут определены статически. 3-й элемент получил 4 компонента.
vector<loadTruck> jedinecTruck;
loadTruck truck;
int array[1][3][4];
while (wharehouseIsEmpty == false)
{
truck.resetTruck();
for (int i = 0; i < numOfPackages; i++)
{
if (store2D[i].checkIfPackageIsThere() == true)
{
truck.setPackageSize(store2D[i].getPackageWidth(), store2D[i].getPackageHeight());
if (truck.checkIfPackageCanBeLoaded() == true)
{
truck.loadPackageInTruck();
store2D[i].deletePackage();
array[0][i][0] = truck.getActualX1();
array[0][i][1] = truck.getActualX2();
array[0][i][2] = truck.getActualY1();
array[0][i][3] = truck.getActualY2();
}
}
}
jedinecTruck.push_back(truck);
}
С уважением
И вопрос ...? –
Какая у вас проблема с конкретной проблемой? – ApproachingDarknessFish
Я не следую ни вашему объяснению того, что вы пытаетесь сделать, ни логике кода, который вы написали. Но я вижу, что 'jedinecTruck.push_back (truck);' является ошибкой. Это то, о чем вы спрашиваете? Если да, тогда объясните немного больше об этом. – john