Witam, stworzyłem klasy struktury opisujące animacje, przyciski i pola edycji w SFML. Wcześniej miałem je wszystkie w pliku głównym .cpp, jednak miałem problem ponieważ jedne potrzebowały drugich a drugie pierwszych a tak nie może być w takim zapisie. Jeżeli dałem wyżej zapis:
class Button;
Po to aby tylko pokazać że taka klasa wystąpi niżej, wywalało mi to błąd, że używam niezdefiniowanej klasy Button. No więc postanowiłem wszystkie te klasy poumieszczać w plikach nagłówkowych i potem je połączyć ze sobą i z programem. Wyszło mi w sumie 8 plików nagłówkowych i mam problem bo gdy np. W jednej klasie napiszę metodę:
struct IObject
{
void SendToMenu(Button sender) //Błąd - niezdefiniowana klasa Button
{
switch (menu_type)
{
case menu::game:
Game.AllButtons.push_back(&sender);
break;
}
}
virtual ~IObject() {};
};
I dołączę inny plik nagłówkowy przechowujący klasę button aby nie wywaliło błędu o niezdefiniowanej klasie to i tak mi wywala ten błąd. Jeżeli wyżej dopiszę : class Button; To i tak wywali, i mam teraz 63 błędy dotyczące niezdefiniowanych klas. Ktoś mi powie jak mogę połączyć tak aby synchronicznie się uzupełniały? Z góry dziękuję!