While I am getting no C++ compilation errors or runtime errors, my visual studio is having trouble reading the adress for my enemy pointer. If you could tell me what I am doing wrong it would be greatly appreciated.
#include "Armor.h" #include "Character.h" #include "Enemy.h" #include "Weapon.h" #include "Random.h" #include <iostream> #include <string> using namespace std; bool go = true; Enemy *enemy = 0; bool fight = true; void Attack() { while(fight = true) { int z = Random(0, Main.Level); if(z = 0) Enemy *enemy = new Enemy("Chicken", 50, 0, 100, 4, 12, 32); else if(z = 1) Enemy *enemy = new Enemy("Goblin", 67, 0, 200, 8, 24, 36); cout << "You are fighting a " << enemy->Name << endl; cout << "1) Attack " << endl; int choice; cin >> choice; if(choice = 1) { cout << "You attack it with a " << Main.weapon->Name << endl; int damage = Random (0, Main.weapon->Damage); int total = (damage - (1/3 * enemy->Armor)); enemy->Health = enemy->Health - total; if(enemy->Health <= 0) { cout << "You killed the enemy" << endl; cout << "You earned " << enemy->ExpReward << " EXP! " << endl; Main.Gold = Main.Gold + enemy->GoldReward; Main.Experience = Main.Experience + enemy->ExpReward; bool fight = false; } } else { int damage = Random(0, enemy->Damage); Main.Health = Main.Health - damage; if(Main.Health <= 0) { cout << "I'm Sorry. You died in battle! " << endl; bool fight = false; } } } delete enemy; enemy = 0; } int main() { Character Main; Main.Set("George", 100, 100, 0, 0, 1, 0); Main.weapon = new Weapon("Bronze Dagger", 48, 100); cout << "Welcome to Test 1" << endl; cout << "Begin" << endl; while(go = true) { Attack(); return 0; } delete Main.weapon; Main.weapon = 0; }