Question

Quand mon code appelle une fonction, je reçois une erreur:

  

H: \ espace de travail \ HW5 \ HW5 \ Manager.obj

     

Erreur 22 LNK2019 d'erreur: symbole externe non résolu « du public: void   __thiscall Shalishut :: Task8_MoveVehicleFromBaseToBase (classe   * Militaire, char const *, char *, char   *) »(? Task8_MoveVehicleFromBaseToBase @ Shalishut @@ QAEXPAVMilitary @@ PBDPAD2 @ Z)   référencé dans la fonction « publique: void   __thiscall :: Responsable TaskExecute (classe Task *, classe * militaire, classe   Shalishut *, char * * const) »   (? TaskExecute @ Gestionnaire @@ QAEXPAVTask @@ PAVMilitary @@ PAVShalishut @@ QAPAD @ Z)   H: \ espace de travail \ HW5 \ HW5 \ Manager.objH: \ espace de travail \ HW5 \ HW5 \ Manager.obj

et

  

erreur LNK1120: 1 externes non résolus H: \ espace de travail \ HW5 \ Debug \ HW5.exe

Quand je ne suis pas d'appeler cette fonction, tout est OK et le projet construit.

Voici le code appelant la fonction:

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

et voici la fonction:

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);
    }
   }
  }
 }
}
Était-ce utile?

La solution

Je crois que les besoins de déclaration de fonction à:

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

Vous ne nous fournit pas vraiment avec les fichiers d'en-tête donc je suppose que la fonction est un membre de la classe shalishut.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top