Pregunta

Cuando mi código está llamando a una función determinada, estoy recibiendo un error:

H: \ espacio de trabajo \ HW5 \ HW5 \ Manager.obj

22 Error de error LNK2019: símbolo externo sin resolver "público: void __thiscall Shalishut :: Task8_MoveVehicleFromBaseToBase (clase * Militar, const char *, char *, char *)"(? Task8_MoveVehicleFromBaseToBase @ Shalishut @@ @@ QAEXPAVMilitary PBDPAD2 @ Z) hace referencia en la función pública": void __thiscall Administración :: TaskExecute (clase de tareas *, * la clase militar, clase Shalishut *, char * const *)" (? TaskExecute @ Gestor @@ @@ QAEXPAVTask PAVMilitary @@ @@ PAVShalishut QAPAD @ Z) H: \ espacio de trabajo \ HW5 \ HW5 \ Manager.objH: \ espacio de trabajo \ HW5 \ HW5 \ Manager.obj

y

LNK1120 error: 1 externos sin resolver H: \ espacio de trabajo \ HW5 \ Debug \ HW5.exe

Cuando no estoy llamando a esa función, todo está bien y el proyecto se basa.

Este es el código llama a la función:

shalishut->Task8_MoveVehicleFromBaseToBase(military,licenseId,campNameA,campNameB);

y aquí está la función:

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);
    }
   }
  }
 }
}
¿Fue útil?

Solución

Creo que las necesidades de declaración de la función a ser:

void Shalishut::Task8_MoveVehicleFromBaseToBase(Military* military,const char* licenseId,char* fromBase,char* toBase) {
...
}

realmente no nos proporcionan los archivos de cabecera así que estoy asumiendo que la función es un miembro de la clase shalishut.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top