I Applicationklassen: Om du misstänker att programmet kraschar (med en exception) på en viss rad, kan du göra så här för att bli säker: Okey, bra kod :) Om soldierUnits inte är definierad borde redan kompilatorn klaga... Så, är det kompilatorn som klagar eller går programmet genom kompileringen men kraschar på den angivna raden? Jag funderar på om det kan vara creationOrders.front() som kastar undantaget. Kan det vara så att creationOrders är tom när det händer, så att något front-element inte finns? Ah, det har du rätt i.Programkrasch: "Unhandled Exception"
for(int i = 1; i <= 10; i++)
{
cout << "Round: " << i << endl;
factory.AddUnitToQueue();
factory.AddUnitToApp(&soldierUnits); // Här är det programmet kraschar ( Tror jag :/ ).
if(!soldierUnits.empty())
{
timeToCreate = soldierUnits.back()->GetCreateTime();
}
if(timeToCreate == i)
{
cout << "Production Complete!" << endl;
factory.PopQueue();
}
}
Funktionen AddUnitToApp i Factoryklassen:void Factory::AddUnitToApp(vector<SoldierUnit*> *soldierUnits)
{
switch(creationOrders.front())
{
case 0:
{
cout << "Producing Spy" << endl;
(*soldierUnits).push_back(new Spy);
break;
}
case 1:
{
cout << "Producing Marine" << endl;
(*soldierUnits).push_back(new Marine);
break;
}
case 2:
{
cout << "Producing Tank" << endl;
(*soldierUnits).push_back(new Tank);
break;
}
default:
{
cout << "Not producing anything" << endl;
break;
}
}
}
Kan tilläggas att programmet kraschar inte varje gång.
Utan ungefär 3 av 5 gånger.
soldierUnit är en vektor av SoldierUnit-objekt.
Tacksam för svar.
Sv: Programkrasch: "Unhandled Exception"
try {
factory.AddUnitToApp(&soldierUnits); // Här är det programmet kraschar ( Tror jag :/ ).
}
catch(...) {
std::cout << "Japp, här kraschar det." << endl;
}
Sv:Programkrasch: "Unhandled Exception"
Det är den raden som kraschar.
Jag har gått igenom med debuggern, men jag får inte ut vad det kan vara.
Det står: Error: symbol "soldierUnits" not found.
Några förslag på vad jag kan göra?Sv: Programkrasch: "Unhandled Exception"
Sv: Programkrasch: "Unhandled Exception"
Sv:Programkrasch: "Unhandled Exception"
Else-satsen var visst tom :)
Tack för hjälpen.