Problem ze wskaźnikiem na obiekt z kolejką

0

Hej, mam wielką prośbę do forumowiczów o pomoc... Męczę się z tym i męczę i nie mogę sobie poradzić.
Tutaj załączam plik z projektem: <url>www.dekspert.nazwa.pl/symulacja.rar</url>
Chodzi o to, że mam klasę ListaZdarzen w którem mam kolejkę priorytetową ze wskaźnikami na obiekty klasy Zdarzenie. W klasie Zdarzenie chcę mieć wskaźnik do obiektu ListaZdarzen, albo chociaż do samej kolejki priorytetowej, żebym bezpośrednio z wnętrza klasy Zdarzenie mógł operować na kolejce...
W tej postaci co mam niestety kompilator wywala całą masę błędów, a wystarczy, że wyrzucę wskaźnik na ListaZdarzen z klasy Zdarzenie i już wszystko działa... Wydaje mi się, że to przez funktor do wstawiania w odpowiedniej kolejności... ale nie jestem pewien, nigdy wcześniej nie korzystałem z kolejek priorytetowych...
umieszczę też kod klas dla osób które nie mają Visual Studio
ListaZdarzen.h

#pragma once
#include "Zdarzenie.h"
#include "Statystyki.h"
#include <queue>
#include <functional>
using namespace std;

struct EventsCompare : binary_function<Zdarzenie*, Zdarzenie*, bool>
{
	bool operator() (const Zdarzenie* ptr1, const Zdarzenie* ptr2)
	{
		return ptr1->czas > ptr2->czas;
	}
};

class ListaZdarzen
{
public:
	ListaZdarzen(void) {};
	~ListaZdarzen(void);
	static Statystyki* stats;//statystyki całej symulacji
	priority_queue<Zdarzenie*, vector<Zdarzenie*>, EventsCompare> LiniaCzasu;
};

ListaZdarzen.cpp

#include "StdAfx.h"
#include "ListaZdarzen.h"

Statystyki* ListaZdarzen::stats = new Statystyki();//deklaracja statycznego wskaźnika na statystyki

ListaZdarzen::~ListaZdarzen(void)
{
	while(!this->LiniaCzasu.empty())
	{
		delete this->LiniaCzasu.top();
		this->LiniaCzasu.pop();
	}
}

Zdarzenie.h
#pragma once
#include "Siec.h"
#include "ListaZdarzen.h"

class Zdarzenie
{
public:
Zdarzenie(double c_z): czas(c_z) {};
~Zdarzenie(void){};
double czas;
static Siec* mpk;
static ListaZdarzen* ptr;
};
Zdarzenie.cpp

#include "StdAfx.h"
#include "Zdarzenie.h"

Siec* Zdarzenie::mpk = 0;
0

Mam takie pytanie, a czy dałoby się zrobić tak, żeby przerzucić tą kolejkę priorytetową z klasy ListaZdarzen do Zdarzenie i zrobić ją statyczną, żeby była tylko 1 dla wszystkich obiektów klasy Zdarzenie???

0

zastosuj się do tej rady to będzie lekarstwo (ty masz zapętlone nagłówki).

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