Jak to obejść

0

Mam dwie klasy StatycznaKlasa (ze statycznymi metodami) oraz MojaKlasa (normalna zwykla klasa).
I teraz MojaKlasa w swoich metodach używa statycznych funkcji Statyczna Klasa np

StatycznaKlasa::metoda1();

ale StatycznaKlasa potrzebuje mieć wskaźnik do obiektu MojaKlasa

#include "MojaKlasa.h"
class StatycznaKlasa{
public:
     static void metoda1();
     static void metoda2()

     static MojaKlasa* klasa;

};
 
#include "StatycznaKlasa.h"
class MojaKlasa{
public:
        void mojametoda();

};

i tu pojawia się problem bo przez to otrzymuję:

error C2143: syntax error : missing ';' before '*'
error C4430: missing type specifier - int assumed. Note: C++ does not support default-int

w StatycznaKlasa.h

da się to jakoś obejść?

0

wyszukiwarka -> forward declaration
I jest literówka tak swoją drogą, brakuje średnika w pierwszym pliku.

0

Zacznij od podstaw jak się tworzy hello świecie, a nie rzucaj się na tworzenie klas;

     static void metoda2()

kompilator piszę jak byk, że syntax error, użyj tego średnika tam gdzie Ci pokazuje!
Drugi błąd to brak return (jakis tam int/liczba) na końcu main.

0

Brak średnika, to mój błąd przy przepisywaniu. W kodzie średnik jest, błąd jest nadal identyczny.

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