Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Klasa, obiekty, dziwne błędy

Ostatnio zmodyfikowano 2009-04-27 20:15
Autor Wiadomość
Tombol
Temat założony przez niniejszego użytkownika
Klasa, obiekty, dziwne błędy
» 2009-04-27 16:03:36
Otóż mam sobie taki coś
C/C++
void kolizja( pilka & glowna, paletka & gracz ) // Kolizja paletki i pilki
{
    if(( glowna.pilka_x >= gracz.paletka_x ) ||( glowna.pilka_x + 25 >= gracz.paletka_x ) )
    {
        if(( glowna.pilka_x <= gracz.paletka_x + 60 ) ||( glowna.pilka_x + 25 <= gracz.paletka_x + 60 ) )
        {
            if( glowna.pilka_y + 25 >= gracz.paletka_y )
            {
                glowna.leci_up = false;
            }
        }
    }
To jest funkcja składowa klasy engine

I mam dziwne erroy:
C/C++
1 > d:\\ moje gry\\gra\\gra\\nag ł ó wki\\engine.h( 24 )
    : error C2065
    : 'glowna'
    : undeclared identifier 1 > d:\\ moje gry\\gra\\gra\\nag ł ó wki\\engine.h( 24 )
    : error C2228
    : left of '.pilka_x' must have class / struct / union 1 > type is '' unknown - type '' 1 > d:\\ moje gry\\gra\\gra\\nag ł ó wki\\engine.h( 24 )
    : error C2065
    : 'gracz'
    : undeclared identifier 1 > d:\\ moje gry\\gra\\gra\\nag ł ó wki\\engine.h( 24 )
    : error C2228
    : left of '.paletka_x' must have class / struct / union 1 > type is '' unknown - type '' 1 > d:\\ moje gry\\gra\\gra\\nag ł ó wki\\engine.h( 24 )
    : error C2065
    : 'glowna'
    : undeclared identifier 1 > d:\\ moje gry\\gra\\gra\\nag ł ó wki\\engine.h( 24 )
    : error C2228
    : left of '.pilka_x' must have class / struct / union 1 > type is '' unknown - type '' 1 > d:\\ moje gry\\gra\\gra\\nag ł ó wki\\engine.h( 24 )
    : error C2065
    : 'gracz'
    : undeclared identifier 1 > d:\\ moje gry\\gra\\gra\\nag ł ó wki\\engine.h( 24 )
    : error C2228
    : left of '.paletka_x' must have class / struct / union 1 > type is '' unknown - type '' 1 > d:\\ moje gry\\gra\\gra\\nag ł ó wki\\engine.h( 26 )
    : error C2065
    : 'glowna'
    : undeclared identifier 1 > d:\\ moje gry\\gra\\gra\\nag ł ó wki\\engine.h( 26 )
    : error C2228
    : left of '.pilka_x' must have class / struct / union 1 > type is '' unknown - type '' 1 > d:\\ moje gry\\gra\\gra\\nag ł ó wki\\engine.h( 26 )
    : error C2065
    : 'gracz'
    : undeclared identifier 1 > d:\\ moje gry\\gra\\gra\\nag ł ó wki\\engine.h( 26 )
    : error C2228
    : left of '.paletka_x' must have class / struct / union 1 > type is '' unknown - type '' 1 > d:\\ moje gry\\gra\\gra\\nag ł ó wki\\engine.h( 26 )
    : error C2065
    : 'glowna'
    : undeclared identifier 1 > d:\\ moje gry\\gra\\gra\\nag ł ó wki\\engine.h( 26 )
    : error C2228
    : left of '.pilka_x' must have class / struct / union 1 > type is '' unknown - type '' 1 > d:\\ moje gry\\gra\\gra\\nag ł ó wki\\engine.h( 26 )
    : error C2065
    : 'gracz'
    : undeclared identifier 1 > d:\\ moje gry\\gra\\gra\\nag ł ó wki\\engine.h( 26 )
    : error C2228
    : left of '.paletka_x' must have class / struct / union 1 > type is '' unknown - type '' 1 > d:\\ moje gry\\gra\\gra\\nag ł ó wki\\engine.h( 28 )
    : error C2065
    : 'glowna'
    : undeclared identifier 1 > d:\\ moje gry\\gra\\gra\\nag ł ó wki\\engine.h( 28 )
    : error C2228
    : left of '.pilka_y' must have class / struct / union 1 > type is '' unknown - type '' 1 > d:\\ moje gry\\gra\\gra\\nag ł ó wki\\engine.h( 28 )
    : error C2065
    : 'gracz'
    : undeclared identifier 1 > d:\\ moje gry\\gra\\gra\\nag ł ó wki\\engine.h( 28 )
    : error C2228
    : left of '.paletka_y' must have class / struct / union 1 > type is '' unknown - type '' 1 > d:\\ moje gry\\gra\\gra\\nag ł ó wki\\engine.h( 30 )
    : error C2065
    : 'glowna'
    : undeclared identifier 1 > d:\\ moje gry\\gra\\gra\\nag ł ó wki\\engine.h( 30 )
    : error C2228
    : left of '.leci_up' must have class / struct / union
I co najfajniejsze te errory mam tylko wtedy kiedy ten plik nagłówkowy includ'ne w innej klasie.
12 errorów powstaje gdy includne w innej klasie i 12 i w innej
A co najlepsze w innych plikach nagłówkowych moge wszystko ładnie includować : d.
I to jest o tyle dziwne że aż niemożliwe ; d
Szukałem rozwiązania przez 2 dni i nie wiem ; d
Nawet mój kolega który programuje kilka dobrych lat i zna sporo języków nie wiem o co chodzi ; d

Tylko z góry mowie żeby nie pisać że coś źle zaincludowałem albo źle zdeklraowałem,zdefionowałem czy coś.
Wszystko sprawdzone kilka razy żadnych literówek ani nic ; d
P-6076
DejaVu
» 2009-04-27 16:29:27
'glowna' : undeclared identifier
'gracz' : undeclared identifier
W skrócie: nieznany identyfikator. Idąc dalej - klasy pilka i paletka nie są widoczne w tym miejscu kodu przez co nie zostały utworzone zmienne, przez co dostajesz powyższe błędy kompilacji, które powodują serię kolejnych błędów.
P-6077
Tombol
Temat założony przez niniejszego użytkownika
» 2009-04-27 16:42:00
Ehhh pisałem że wszystko jest zadeklarowane zdefiniowane i wszystko ; d
Wszystko jest widoczne ; d
P-6078
DejaVu
» 2009-04-27 17:22:09
Kompilator wie lepiej :) Gdyby było dobrze to by działało.
P-6082
GoldWolf
» 2009-04-27 17:26:21
Wklej jak wygląda klasa.

Czy jak piszesz "gracz." -> to pojawiają ci się metody (klasy ) obiektu gracz?
P-6083
DejaVu
» 2009-04-27 17:34:03
Dante: jemu się nie skompiluje nawet kod:
C/C++
void kolizja( pilka & glowna, paletka & gracz )
{ }
Kompilator napisał przecież, że zmienna glowna jest nieznanego typu. To samo tyczy się zmiennej gracz.
P-6084
Tombol
Temat założony przez niniejszego użytkownika
» 2009-04-27 17:47:04
Właśnie nie
Rozwiązaniem chyba okaże się to że trzeba dzielić klasę na 2 pliki .h i.cpp
Zaraz zobaczę jak nie będzie działało to wkleję klasę
P-6085
GoldWolf
» 2009-04-27 17:57:02
Kompilator napisał przecież, że zmienna glowna jest nieznanego typu. To samo tyczy się zmiennej gracz.To skąd wiedział co ma być po kropce.
P-6086
« 1 » 2 3
  Strona 1 z 3 Następna strona