Witam! Problem pojawia się w pliku:
#ifndef WYBIORCZA_LISTA_OBIEKTOW_H
#define WYBIORCZA_LISTA_OBIEKTOW_H
#include "map.h"
class wybiorcza_lista_obiektow
{
int nr_obiektu;
protected:
int * wsk_na_liste;
int dlugosc_listy;
bool czy_stworzono_liste;
public:
virtual void zapisywanie_listy( const mapa & );
void idz_na_poczatek_listy() { nr_obiektu = 0; };
int operator ++( int = 0 )
{
++nr_obiektu;
return wsk_na_liste[ nr_obiektu - 1 ];
}
wybiorcza_lista_obiektow();
~wybiorcza_lista_obiektow();
};
class wybiorcza_lista_obiektow_prawo
: public wybiorcza_lista_obiektow
{
public:
void zapisywanie_listy( const mapa & );
};
#endif
To jest kod z loga:
-------------- Build: Release in gra_kucyki (compiler: GNU GCC Compiler)---------------
mingw32-g++.exe -Wall -O2 -ID:\Programowanie\Allegro\gra_kucyki -c D:\Programowanie\Allegro\gra_kucyki\kucyk.cpp -o obj\Release\kucyk.o
In file included from D:\Programowanie\Allegro\gra_kucyki\map.h:4:0,
from D:\Programowanie\Allegro\gra_kucyki\kucyk.h:6,
from D:\Programowanie\Allegro\gra_kucyki\kucyk.cpp:4:
D:\Programowanie\Allegro\gra_kucyki\wybiorcza_lista_obiektow.h:17:43: error: 'mapa' does not name a type
D:\Programowanie\Allegro\gra_kucyki\wybiorcza_lista_obiektow.h:17:48: error: ISO C++ forbids declaration of 'parameter' with no type [-fpermissive]
D:\Programowanie\Allegro\gra_kucyki\wybiorcza_lista_obiektow.h:31:35: error: 'mapa' does not name a type
D:\Programowanie\Allegro\gra_kucyki\wybiorcza_lista_obiektow.h:31:40: error: ISO C++ forbids declaration of 'parameter' with no type [-fpermissive]
D:\Programowanie\Allegro\gra_kucyki\kucyk.cpp: In member function 'void glowny_bohater::wyswietlanie_kucyka(BITMAP*, int, int)':
D:\Programowanie\Allegro\gra_kucyki\kucyk.cpp:26:5: warning: 'void textprintf(BITMAP*, const FONT*, int, int, int, const char*, ...)' is deprecated (declared at d:\program files\codeblocks\mingw\bin\../lib/gcc/mingw32/4.7.1/../../../../include/allegro/alcompat.h:177) [-Wdeprecated-declarations]
D:\Programowanie\Allegro\gra_kucyki\kucyk.cpp:26:87: warning: 'void textprintf(BITMAP*, const FONT*, int, int, int, const char*, ...)' is deprecated (declared at d:\program files\codeblocks\mingw\bin\../lib/gcc/mingw32/4.7.1/../../../../include/allegro/alcompat.h:177) [-Wdeprecated-declarations]
D:\Programowanie\Allegro\gra_kucyki\kucyk.cpp:27:5: warning: 'void textprintf(BITMAP*, const FONT*, int, int, int, const char*, ...)' is deprecated (declared at d:\program files\codeblocks\mingw\bin\../lib/gcc/mingw32/4.7.1/../../../../include/allegro/alcompat.h:177) [-Wdeprecated-declarations]
D:\Programowanie\Allegro\gra_kucyki\kucyk.cpp:27:87: warning: 'void textprintf(BITMAP*, const FONT*, int, int, int, const char*, ...)' is deprecated (declared at d:\program files\codeblocks\mingw\bin\../lib/gcc/mingw32/4.7.1/../../../../include/allegro/alcompat.h:177) [-Wdeprecated-declarations]
Process terminated with status 1 (0 minute(s), 0 second(s))
4 error(s), 4 warning(s) (0 minute(s), 0 second(s))
Nie rozumiem dlaczego mam te błędy, skoro w innym pliku wszystko jest ok:
#ifndef GLOWNY_BOHATER_H
#define GLOWNY_BOHATER_H
#include "map.h"
#include "funkcje.h"
#include <allegro.h>
#include<string>
#include <tablica_zderzen.h>
class glowny_bohater
{
friend class tablica_zderzen;
char nazwa[ 80 ];
char nazwa2[ 80 ];
BITMAP * obrazek_glownego_bohatera;
BITMAP * animacja_glownego_bohatera;
int w;
int sz;
int x;
int y;
const int dlugosc_animacji;
tablica_zderzen * wsk_na_tablice_animacji_obiektow_zwroconych_w_prawo;
tablica_zderzen * wsk_na_tablice_animacji_obiektow_zwroconych_w_lewo;
int * wsk_na_tablice_z_kooordynatami_ruchu;
int przebieg_animacji;
tablica_zderzen obiekt_zwrocony_w_prawo;
tablica_zderzen obiekt_zwrocony_w_lewo;
mapa * wsk_na_mape;
enum akcja { stoi, biegnie, skacze };
akcja co_robi;
enum kierunek { prawo, lewo };
kierunek w_ktora_strone_jest_zwrocony;
public:
const tablica_zderzen & ktora_tablice_zderzen_urzyc();
int wartosc_x();
int wartosc_sz();
int wartosc_y();
int wartosc_w();
void wyswietlanie_kucyka( BITMAP * na_co, int przesuniecie_wzgledem_ekranu_x, int przesuniecie_wzgledem_ekranu_y );
void poruszanie_kucykiem( bool czy_ma_byc_koordynator_ruchu = false );
void polaczenie_z_aktualna_mapa( mapa & aktualna );
void ustawienie_koordynatu_ruchu( std::string nazwa_pliku_z_koordynatorami );
void koorydnat_ruchu();
void pobranie_pozycji_poczatkowej( const mapa & );
glowny_bohater( const char * nazwa_obrazka, const char * nazwa_animacji, int szerokosc, int wysokosc, int ile_klatek_ma_animacja );
~glowny_bohater();
};
#endif
Jeżeli to będzie potrzebne to to jest ta klasa:
#ifndef MAP_H
#define MAP_H
#include "tablica_zderzen.h"
#include "wybiorcza_lista_obiektow.h"
#include <allegro.h>
#include<string>
#include <fstream>
class mapa
{
BITMAP * ziemia;
BITMAP * obraz;
int rozdzielczosc_x;
int rozdzielczosc_y;
int wymiar_mapy_x;
int wymiar_mapy_y;
int bohater_poczatkowe_x;
int bohater_poczatkowe_y;
int y;
int ilosc_obiektow;
int * wsk_na_x_obiektu;
int * wsk_na_y_obiektu;
int obiekt_szerokosc;
int obiekt_dlugosc;
std::string nazwa_pliku_txt_mapy;
std::string nazwa_pliku_txt_z_ziemia;
std::ifstream plik;
tablica_zderzen obiekt;
public:
friend class tablica_zderzen;
friend class glowny_bohater;
friend class wybiorcza_lista_obiektow;
friend class wybiorcza_lista_obiektow_prawo;
void tworzenie_mapy();
void edytor_mapy();
int czytanie_mapy();
void wyswietl_mape( BITMAP * na_co, int przesuniecie_wzgledem_ekranu_x, int przesuniecie_wzgledem_ekranu_y );
void stworz_tablice_zderzen_obiektu();
mapa( const char * );
~mapa();
};
#endif
Możliwe, że coś jest nie tak z tymi funkcjami wirtualnymi? To moja pierwsza proba dziedziczenia i funkcji wirtualnych.