|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Mar 2003
Città: Rimini
Messaggi: 1843
|
Unresolved External. Uso di enum in classe derivata.
L'errore è unresolved external riguardo ad un enum che utilizzo nel costruttore di una classe.
La classe derivata è questa e l'errore credo derivi dalla riga rossa (credo perchè l'unresolved external con doppio click non ti porta alla riga che lo genera): Codice:
#include <cstdlib> #include "IM_Weapon.h" class IM_WeaponPistol : IM_Weapon { public: //contructor for Shotgun IM_WeaponPistol() { SetWeaponType(EWeaponType::pistol); SetMaxAmmunitions(35); SetDamage(8); SetProjectileExplode(false); //1.2 secs to equip a shotgun SetEquippingTime(1200); } }; Codice:
enum EAmmo{ low_ammo, normal_ammo, loads_ammo }; enum EWeaponType{ shotgun, rocket_launcher, pistol }; class IM_Weapon { private: ...roba.... public: IM_Weapon(){} ~IM_Weapon(){} ...molta altra roba... }; Copio anche l'errore per intero che per me è abbastanza illeggibile: Codice:
Error 1 error LNK2019: unresolved external symbol "public: void __thiscall IM_Weapon::SetWeaponType(enum EWeaponType)" (?SetWeaponType@IM_Weapon@@QAEXW4EWeaponType@@@Z) referenced in function "public: __thiscall IM_WeaponPistol::IM_WeaponPistol(void)" (??0IM_WeaponPistol@@QAE@XZ) C:\Users\Ivan\Documents\C++ development\Immortal\Immortal\IM_MainChar.obj Immortal |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Jan 2012
Messaggi: 1267
|
L'unresolved symbol è questo:
Codice:
"public: void __thiscall IM_Weapon::SetWeaponType(enum EWeaponType)" Scusa, ma perchè stai cercando di programmare un videogame in C++ senza conoscere bene il C++? |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Mar 2003
Città: Rimini
Messaggi: 1843
|
Trovato il problema, grazie! Non avevo implementato il metodo, maledetto me.
Non sto assolutamente cercando di implementare un gioco, sto solo facendo un esercizio, molto piccolo in realtà, c'è a mala pena un sistema di inventario per le armi e due personaggi che si sparano (niente grafica, solo qualche linea scritta a video), nel quale utilizzare un paio di tecniche che ho letto in un libro e su cui devo fare pratica (implementazione di una macchina a stati finiti per creare intelligenze artificiali e un sistema che usi la fuzzy logic per la selezione delle armi). Grazie come sempre dei consigli ![]() |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 20:34.