[c++][CODEBLOCKS]
Cześć, mam dosyć duży problem. Starałem się już pytać wujka Google, ale problem jest dosyć nietypowy.... Mianowicie staram się napisać menu główne do pewnej aplikacji... Mam dwie klasy Main_menu oraz menu_option... jedna w plikach: MAIN MENU.h oraz MAIN MENU.cpp a druga w menu_option.h oraz menu_option.cpp. Problem wywala w pliku MAIN MENU.h a oto ten plik:
#ifndef MAIN_MENU_H_INCLUDED
#define MAIN_MENU_H_INCLUDED
#include "menu_option.h"
using namespace std;
class Main_menu
{
private:
string bg_path;
string option_bg_path[3];
string selection_path;
menu_option option[3];
SDL_Surface* selection;
int selected;
public:
Main_menu();
void show();
void select(int s) {selected = s;}
int current_selection() { return selected;}
~Main_menu();
};
#endif // MAIN_MENU_H_INCLUDED
Błąd to: 'menu_option' does not name a type! ... Próbowałem nawet napisać deklarację klasy menu_option przed definicją Main_menu ale znów pojawił się bład: field 'option' has incomplete type!
I uwaga teraz gwóźdź programu! Gdy skasowałem tę linijkę, skompilowałem nie było żadnego problemu (było to przed rozpisanie funkcji składowych), gdy jednak wpisałem ponownie tę linijkę to... wszystko skompilowało się również bez problemu... O_O
Problem niestety powrócił gdy rozpisałem funkcję (choć w czasie operowania na tablicy option[] kompilowałem wielokrotnie i nic się nie działo), chciałem przejść do innej części pisania programu to wrócił stary bład. Dołączam jeszcze plik menu_option.h:
#ifndef MENU_OPTION_H_INCLUDED
#define MENU_OPTION_H_INCLUDED
#include "nagl.h"
using namespace std;
class menu_option
{
private:
SDL_Surface* text;
int x;
int y;
public:
menu_option();
bool load_option(string path);
void add_xy(int xx, int yy)
{
x = xx;
y = yy;
}
void show();
~menu_option();
};
#endif // MENU_OPTION_H_INCLUDED
Ponowne włączenie i wyłączenie CODEBLOCKS'a nic nie dało :(. Kompiluje na XP.