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

Jeden enum w kilku plikach

Ostatnio zmodyfikowano 2015-11-29 15:32
Autor Wiadomość
marcolo2307
Temat założony przez niniejszego użytkownika
» 2015-11-27 23:44:34
Nic nie dało. Mam identyczny kod w pliku z menu, tylko że w przestrzeni nazw i tam działa bez problemu. Próbowałem użyć przestrzeni nazw w tiles.hpp i w ogóle jej nie wykrywało.
P-140965
pekfos
» 2015-11-28 00:26:40
Wywal wszystkie niepotrzebne nagłówki z system.hpp, zostaw tylko swój kod. We wszystkich plikach dołączaj ręcznie to, co jest potrzebne i tylko to. Nagłówki wymagane tylko w implementacji dołączaj tylko w plikach cpp.
P-140966
marcolo2307
Temat założony przez niniejszego użytkownika
» 2015-11-28 11:16:56
Jeśli w mapeditor.hpp dodam najpierw items.hpp (plik do którego przeniosłem enum), a potem system.hpp i usunę z system.hpp items.hpp, a z items.hpp system, to działa.
Tylko nie mam już pojęcia dlaczego...
P-140976
pekfos
» 2015-11-28 11:57:43
Tylko nie mam już pojęcia dlaczego...
Nagłówki masz źle napisane.
P-140978
marcolo2307
Temat założony przez niniejszego użytkownika
» 2015-11-28 13:40:04
System:
C/C++
#include "mapeditor/mapeditor.hpp"
#include "items/items.hpp"
#include "menu/menu.hpp"
Items.hpp:
C/C++
#include "../system.hpp"
enum MAP_LEVEL
{
    GROUND = 0,
    UNDERGROUND = - 1,
    VENTILATION = 1,
    ROOF = 2
};
I menu.hpp:
C/C++
#include "../system.hpp"
namespace ms
{
    enum MENU_STYLE
    {
        MAIN_MENU = 0,
        GAME_MENU,
        BUILDER_MENU
    };
    enum FROM
    {
        LAUNCH = 0,
        GAME_S,
        GAME_M,
        MAP_EDITOR
    };
}
Plik mapeditor.hpp:
C/C++
#include "../system.hpp"

ms::MENU_STYLE style // działa
MAP_LEVEL level // nie działa
// nie wykrywało też przestrzeni nazw, ale klasy tak

Wydaje mi się, że jest identycznie... Oczywiście są w oryginale są też guardy.
P-140982
Monika90
» 2015-11-28 15:01:43
mapeditor.hpp inkluduje system.hpp, a system.hpp inkluduje mapeditor.hpp, tak samo jest z items.hpp i menu.hpp, jak to niby ma działać? Pozbądź się cykli z grafu zależności.
P-140989
marcolo2307
Temat założony przez niniejszego użytkownika
» 2015-11-28 15:05:29
Ale zawsze bez problemu mi to działało. Jeśli mam guardy (#ifndef, #def, #endif), to i tak wszystko definiuje się tylko raz, prawda?
P-140990
Monika90
» 2015-11-28 15:24:03
Tak, wszystko definiuje się tylko raz. Ale w jakiej kolejności będą te definicje w jednostce translacji? Zastanów się nad tym.
P-140994
1 « 2 » 3
Poprzednia strona Strona 2 z 3 Następna strona