Salve tutti!
All'università sto sudiando il C++ e per esercitazione stavo creando una specie di replica di Pokemon.
Nella creazioen dell'inventario mi sono imbattuto in un problema...
codice HTML:
class Inventory {
public:
Inventory(int size);
void setInventoryPokeball(int quantity,int position, Pokeball* pokeballP);
int size;
struct inventoryPokeball{
int quantity;
Pokeball* pokeballP;
};
inventoryPokeball *inventoryPokeballNew;
};
codice HTML:
Inventory::Inventory(int size) : size(size) {
Inventory::inventoryPokeballNew = new inventoryPokeball[size];
}
void Inventory::setInventoryPokeball(int quantity,int position, Pokeball *pokeballP) {
Inventory::inventoryPokeballNew[position].pokeballP = pokeballP;
Inventory::inventoryPokeballNew[position].quantity = quantity;
}
In pratica se creo un nuovo inventario e ci aggiungo più di un elemento, dentro l'inventario risulta presente solamente l'ultimo elemento inserito. Sinceramente non capisco come mai visto che nel costruttore ho fatto l'allocazione...
Grazie in anticipo a tutti!!