Probowalem tak CMapa.Rysuj_mape(ble,ble,ble) ale nie idze
Jeśli chcesz to możesz sie odwoływac do metody nie przez obiekt , tylko przez nazwe klasy , ale tylko wtedy gdy jest to metoda statyczna , aby zrobić metodę statyczną , przed jej deklaracją piszesz slowo static , np:
static Rysuj_mep(arg);
ale znowu , żeby metoda mogła być statyczna może ona korzystać jedynie ze składowych statycznych , które deklaruje sie analogicznie , ale musisz tez potem dla nich zarezerwować pamięć , więc napisać np :
int CMapa::Romb_x;
za deklaracją klasy . Troche to pogmatwane , ale sie przydaje , więc u ciebie wyglądało by to tak :
class CMapa
{
CMapa();
~CMapa();
static int romb_X;
static void Rysuj_mape (int poczatek_X,int koniec_X,int koniec_Y);
};
int CMapa::romb_X;
void CMapa::Rysuj_mape (int poczatek_X,int koniec_X,int koniec_Y)
{
romb_X=32;
}
Teraz możesz spokojnie wywołać tą metode w następujący sposób :
CMapa::Rysuj_mape(arg);
a jak sie nie chcesz bawić w składowe statyczne to musisz zrobić tak jak kolega Marooned napisał ( tworzysz obiekt :
nazwa_klasy Nazwa_Obiektu;
a potem odwołujesz sie do metody tak :
Nazwa_obiektu.Nazwa_metody(arg);
nie wiem jak ci to może nie chodzić , obiekt tworzysz w tym samym bloku co wywołujesz na jego rzecz metode , jak ci to dalej nie chodzi , to napisz jaki wyskakuje błąd )
. Nie masz możliwości wywołania samej metody tak po prostu . Musisz wywoływac ją albo na rzecz jakiegos obiektu , albo poprzez nazwe klasy , tak jak w przypadku zmiennych składowych .