c++ w bcb | problem

0

Mam problem. kompilator mówi ze nie rozumie "rysuj".
Pisze pod bcb przy uzyciu opengl w winapi, program oparty na klasach:

[code]
Modul kata.cpp:
[code]Fragment kodu winapi:
EnableOpenGL (hWnd, &hDC, &hRC);
postac rysuj; // patrzcie tutaj!!
/* program main loop */[/code]

Inny fragment w kata.cpp:
[code] if (p_lewa)
{
rysuj.parametr="lewo";
}
[/code]

Cały postac.h:
[code]

//#ifndef postacH
//#define postacH
class postac{
int wspolrzedna;
GLuint textura[1]; // bedze 1 tekstura uzywana w programie
int numertekstury;
void tekstura(AnsiString path);
public:
AnsiString aktualna_czynnosc;
AnsiString parametr = "";
postac();
void ruch_lewo();
void ruch();
void rys_tekstura(HDC bufor);
};
//---------------------------------------------------------------------------
//#endif
[/code]

Fragment postac.cpp:
[code]
postac::postac(){
numertekstury=0;
aktualna_czynnosc = "";
tekstura("ludzik1.bmp");
wspolrzedna=0;
parametr="";
}
[/code]
void postac::ruch_lewo()
{
wspolrzedna=1;
}

void postac::ruch()
{
if (x=0){
postac czynnosc;
x=1;
}

if (parametr="lewo" && aktualna_czynnosc=="")
{
czynnosc.ruch_lewo();
}
[code]

[/code]

[/code]

0

gdzie includujesz postac.h i postac.cpp ??
w sumie masz zdefiniowany konstruktor do postaci wiec powinno chodzic .
sproobuj rabnac kod z postac.h i postac.cpp w tym samym pliku , nad tworzeniem obiektu klasy postac .

0

Ja nie includowalem postac.cpp Ale i tak wyswietla błedy to jest:

  • multiple declaretion of postac
  • earielr declaretion of postac
  • body has already been definied for function postac::postac()
  • undefinied symbol czynnosc
  • undefinied symbol rysuj
0

pewnie w projekcie dodałeś tylko postac.h . zrób tak : w projekcie nie dodawaj zadnych plikow postac.* . Dodaj tylko główny plik źródłowy , a w nim include postac.h , a w tym z kolei include postac.cpp .

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