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

c++ typ wyliczeniowy enum

Ostatnio zmodyfikowano 2015-01-11 00:49
Autor Wiadomość
drudl
Temat założony przez niniejszego użytkownika
c++ typ wyliczeniowy enum
» 2015-01-11 00:33:04
Mam następujący problem:
Tworzę grę złożoną z kilku plików. W jednym z nich mam napisaną funkcję, która przyjmuje jako argument typ wyliczeniowy enum. Problem pojawia się kiedy próbuję ją zaprzyjaźnić z klasą znajdującą się w innym pliku. Wyskakują mi komunikaty:
error: use of enum 'z_ktorej_strony' without previous declaration
To jest plik, w którym mam funkcję, którą chcę zaprzyjaźnić:
C/C++
#ifndef FUNKCJE_H
#define FUNKCJE_H
#include <allegro.h>
#include<string>
#include "tablica_zderzen.h"

enum z_ktorej_strony { z_lewej = 1, z_dolu, z_prawej, z_gory, z_kazdej };
z_ktorej_strony z_ktorej_strony_k;
z_ktorej_strony z_ktorej_strony_j;
void wypisywanie_tekstu_allegro( std::string tekst, int y );
int czytanie_cyfr_z_klawiatury();
int czytanie_liczb_cztero_cyfrowych_z_klawiatury();
bool czy_jest_zderzenie( const class tablica_zderzen & k, const int & aktualny_x_k, const int & aktualny_y_k, enum z_ktorej_strony z_ktorej_strony_k,
const class tablica_zderzen & j, const int & aktualny_x_j, const int & aktualny_y_j, enum z_ktorej_strony z_ktorej_strony_j );
#endif
W tym pliku mam deklarację klasy:
C/C++
#ifndef TABLICA_ZDERZEN_H
#define TABLICA_ZDERZEN_H
//***********************************
//Plik: osoba.h
//***********************************
#include <allegro.h>
#include<string>
#include "funkcje.h"
///////////definicja klasy///////////
class tablica_zderzen
{
    friend class glowny_bohater;
    friend bool czy_jest_zderzenie( const class tablica_zderzen & k, const int & aktualny_x_k, const int & aktualny_y_k, enum z_ktorej_strony z_ktorej_strony_k,
    const class tablica_zderzen & j, const int & aktualny_x_j, const int & aktualny_y_j, enum z_ktorej_strony z_ktorej_strony_j );
   
    BITMAP * obiekt_do_znajdowania_pkt_zderzen;
    int ile;
    int ilosc_pkt_zderzenia_z_lewej, ilosc_pkt_zderzenia_z_dolu, ilosc_pkt_zderzenia_z_prawej, ilosc_pkt_zderzenia_z_gory;
    int ilosc_pkt_zderzenia;
   
    int * wsk_tab_x;
    int * wsk_tab_y;
   
    int * wsk_tab_x_z_lewej;
    int * wsk_tab_x_z_dolu;
    int * wsk_tab_x_z_prawej;
    int * wsk_tab_x_z_gory;
   
    int * wsk_tab_y_z_lewej;
    int * wsk_tab_y_z_dolu;
    int * wsk_tab_y_z_prawej;
    int * wsk_tab_y_z_gory;
   
    char * wsk_tab_typ; // 1 to zwykly pkt zderzen
    bool czy_stworzono_tablice;
   
public:
    //bool czy_jest_zderzenie( tablica_zderzen k, int aktualny_x_k, int aktualny_y_k, tablica_zderzen j, int aktualny_x_j, int aktualny_y_j );
    void dodaj_zderzenie( int x_zderznia, int y_zderzenia );
    void ile_pkt_zderzenia( BITMAP * obiekt, int szerokosc, int wysokosc, int dokladnosc );
    void znajd_pkt_zderzenia( BITMAP * obiekt, int szerokosc, int wysokosc, int dokladnosc );
    tablica_zderzen( BITMAP * obrazek, int szerokosc, int wysokosc );
    tablica_zderzen();
    void zamiast_konstruktora( BITMAP * obrazek, int szerokosc, int wysokosc, int x, int y, int dokladnosc );
    ~tablica_zderzen();
};
////////koniec definicji klasy///////
#endif
P-124618
SocrateZ
» 2015-01-11 00:39:06
Daj enum przed ostatni include (czyli przed dołączoną tablice zderzeń gdzie błąd jest generowany):
C/C++
enum z_ktorej_strony { z_lewej = 1, z_dolu, z_prawej, z_gory, z_kazdej };
#include "tablica_zderzen.h"
P-124619
drudl
Temat założony przez niniejszego użytkownika
» 2015-01-11 00:49:32
Pomogło! Dzięki za pomoc!
P-124620
« 1 »
  Strona 1 z 1