Konstruktor domyślny

0

Piszę prosty programik obiektowy na zaliczenie i napotkałem na taki błąd w Visualu :
Ważność Kod Opis Projekt Plik Wiersz Stan pominięcia
Błąd C2512 "Mob": niedostępny odpowiedni konstruktor domyślny Projekt_zaliczeniowy arena.cpp 6

arena::arena()
{
	cout << "Podaj ilosc mobow" << endl; 
	cin >> ilosc_mobow; 
	cout << "Podaj poziom mobow" << endl; 
	cin >> poziom_mobow; 
	for (int i = 0; i < ilosc_mobow; i++)
	{
		a[i] = new Mob(poziom_mobow);
	}
}
Mob::Mob(int lvll)
{
	lvl = lvll; 
	if (lvl == 1)
	{
		dmg = 5;
		hp = 5;
		name = "Wilk";
		exp = 10;
	}
	else if (lvl == 2)
	{
		dmg = 10;
		hp = 20;
		name = "Ork";
		exp = 30;
	}
	else if (lvl == 3)
	{
		dmg = 30;
		hp = 50;
		name = "Smok";
		exp = 50;

	}
}

0

Czym jest a? No i zmień nazwę zmiennej na coś sensowniejszego, bo widzisz jak głupio brzmi takie pytanie.

0

@twonek: a to jest tablica mobów.

#pragma once
#include "Mob.h"

class arena
{
	Mob*a[10]; 
	Mob arr[15][15]; 
	int ilosc_mobow; 
	int poziom_mobow; 
public:
	arena();
	~arena();
};

Tak wygląda arena.h

2
Mob arr[15][15]; 

Tutaj tworzysz obiekty za pomocą konstruktora bezargumentowego, którego nie masz.

0

rzeczywiście, dzięki!

0

@twonek: a powiesz mi w takim razie, jak mam stworzyć pustą tablicę dwuwymiarową obiektów? Domyślnie ma to być taka mini arena, w której bedą poruszały sie moby.

1

Dlaczego arena ma być 2-wymiarową tablicą mobów? Biorąc najprostsze przeniesienie z życia, arena jest 2-wymiarową tablicą pól, a na każdym z pól może być mob lub nie.

0

Chciałem, żeby się wyświetlały moby jako np #. W środku tablicy ma być postać do którego bedą wędrowały moby po najkrótszej drodze i chciałem to wyświetlać. Czyli mówisz, żeby zrobić tablice bool ? Wtedy będę musiał chyba zrobić osobną tablicę, którą wyświetlę.

1 użytkowników online, w tym zalogowanych: 0, gości: 1