Когда мой код вызывает определенную функцию, я получаю сообщение об ошибке:
H: \ рабочее пространство \ HW5 \ HW5 \ Manager.obj
Ошибка 22 Ошибка LNK2019: неразрешенный внешний символ "public: void
__thiscall Шалишут :: Task8_MoveVehicleFromBaseToBase (класс
Военный *, символ const *, символ *, символ
*) "(? Task8_MoveVehicleFromBaseToBase @ Shalishut @@ QAEXPAVMilitary @@ PBDPAD2 @ Z)
упоминается в функции "public: void
__thiscall Manager :: TaskExecute (класс Task *, класс Military *, класс
Shalishut *, char * * const) "
(? TaskExecute @ Диспетчере @@ QAEXPAVTask @@ PAVMilitary @@ PAVShalishut @@ QAPAD @ Z)
H: \ рабочее пространство \ HW5 \ HW5 \ Manager.objH: \ рабочее место \ HW5 \ HW5 \ Manager.obj
и:
ошибка LNK1120: 1 неразрешенный внешний вид H: \ workspace \ HW5 \ Debug \ HW5.exe
Когда я не вызываю эту функцию, все в порядке, и проект собирается.
Вот код, вызывающий функцию:
shalishut->Task8_MoveVehicleFromBaseToBase(military,licenseId,campNameA,campNameB);
а вот и функция:
void Task8_MoveVehicleFromBaseToBase(Military* military,const char* licenseId,char* fromBase,char* toBase){
if (military->IsBaseExist(fromBase)){
if(military->FindBase(fromBase)->IsVehicleExist(licenseId)){
if (military->IsBaseExist(toBase)){
if(military->GetCountry()->IsRoadExist(military->FindBase(fromBase)->GetCityName(),military->FindBase(toBase)->GetCityName())){
military->FindBase(toBase)->AddVehicleToBase( military->FindBase(fromBase)->RemoveVehicleFromBase(licenseId) );
Time* time = Time::GetInstance();
long double distance = military->GetCountry()->GetRoadDistance(military->FindBase(fromBase)->GetCityName(),military->FindBase(toBase)->GetCityName());
Transport* transportToAdd = new Transport(time->GetTime(),(string)fromBase,(string)toBase,distance);
military->FindVehicle(licenseId)->AddTransport(transportToAdd);
}
}
}
}
}