Jak to obejść

Odpowiedz Nowy wątek
2011-09-16 10:45
Ja
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ść?

Pozostało 580 znaków

2011-09-16 10:47
Rev
0

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


edytowany 1x, ostatnio: Rev, 2011-09-16 10:48

Pozostało 580 znaków

2011-09-16 10:49
nexo
0

Zacznij od podstaw jak się tworzy hello świecie, a nei 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.

Pozostało 580 znaków

2011-09-16 10:52
Ja
0

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

wskazówkę od Reva już dostałeś. ale chyba ją zignorowałeś, przejąwszy się średnikiem. - Azarien 2011-09-16 11:12

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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