Witam serdecznie:
Zajmuję się tworzeniem pewnej gry która polega na przerzucaniu klocków. Plik z deklaracjami klas podstawowych wygląda następująco:
#ifndef PODSTAWOWEKLASY_H
#define PODSTAWOWEKLASY_H
#include <QGraphicsScene>
#include <QGraphicsTextItem>
#include <list>
class Bonus
{
private:
int s;
public:
Bonus();
};
class Pole // klasa odpowiadajaca za obsluge pojedynczej jednostki z jakiej skladaja sie klocki
{
private:
int x, y; // wpolrzedne srodka pola (punkt o wspolrzednych (0,0)) to lewy dolny rog planszy
bool czy_bonus; // okresla czy pole zawiera w sobie bonus
Bonus bon; // ewentualny bonus (domyslnie false, tzn standardowe pole nie ma w sobie bonusa)
public:
Pole(int x, int y); // konstruktor pola
void Usun(); // destruktor
int PodajWspolrzednaX(); // nazwa funkcji mowi sama za siebie
int PodajWspolrzednaY(); // -||-
void Przesun(int dx, int dy); // przesuwa pole o dx pol w poziomie i dy pol w pionie
bool Czy_ma_bonus(); // zwraca informacje czy to pole posiada bonus
Bonus PodajBonus(); // zwraca bonus zawarty w polu
void UmiescBonus(Bonus bon); // umieszcza bonus w klocku
};
class Klocek // klasa obslugujaca grupe pol polaczonych w jeden klocek
{
private:
list<Pole*> lista_pol; // lista pol z ktorych zlozony jest klocek
int sx, sy; // wspolrzedne "srodka" klocka (srodek to punkt w klocku wyrozniony przez osobe projektujaca klocek. Obrot klocka jest wykonywany wokol srodka.
// Material material_klocka; // material z ktorego zrobiony jest klocek
public:
Klocek(list<Pole*> lista_pol, int sx, int sy, Material material_klocka); // konstruktor
void Usun(); // destruktor
list<Pole*> PodajListePol(); // zwraca liste pol z ktorych sklada sie klocek
Material PodajMaterial(); // zwraca material z ktorego zrobiony jest klocek
void Przesun(int dx, int dy); // przesuwa klocek o dx pol w poziomie i dy pol w pionie
void UsunPole(int x, int y); // usuwa pole o podanych wspolrzednych
void ObrocWLewo(); // obraca klocek w lewo (wokol srodka)
void ObrocWPrawo(); // obraca klocek w prawo (wokol srodka)
QPainter NarysujKlocek();
}
#endif
jednak w miejscu:
class Klocek
{
private:
list<Pole*> lista_pol;
wyskakuje błąd:
error: ISO C++ forbids declaration of 'list' with no type
Czy mógłby ktoś wytłumaczyć o co chodzi w tym błędzie i jak go naprawić? Nigdy wcześniej się z takim błędem nie spotkałem.
Pozdrawiam serdecznie