Próbuję użyć poprawnie przekazania deklaracji do wyliczenia. Dlatego przeszukałem internet, ale nie mogę znaleźć czegoś, co działa.Enum Forward Declaration
używam w nagłówku:
// Forward declaration
enum myEnumProcessState;
jestem następnie za pomocą tego wyliczenia w struct:
struct myStruct {
[...]
myEnumProcessState osState;
[...]
};
A w innym nagłówkiem:
enum myEnumProcessState {
eNotRunning,
eRunning
};
I okazało się, że typ powinien zostać umieszczony w deklaracji forward, aby zostać zaakceptowanym. Jednak nie wiem, który "typ" powinienem umieścić w stanie procesu. Te nie działają:
enum myEnumProcessState : unsigned int;
enum myEnumProcessState : String;
Chciałem pominąć deklarację naprzód, ale mój Struct płacze, ponieważ nie można go znaleźć już ...
Więc jestem trochę zdezorientowany. Czy znasz rozwiązanie?
Dziękujemy :)
dlaczego trzeba do przekazania zadeklarować go może? po prostu zdefiniuj go, zanim go użyjesz (to znaczy dołącz plik zawierający enum/przenieś enum do pliku, który może być zawarty w obu plikach)? – Default
Cóż ... TO działa. chciałem zrobić to z deklaracją terminową Teraz, jeśli jedynym "czystym" rozwiązaniem jest pominięcie, będę ... –
Tak naprawdę nie wiem, czy istnieje rozwiązanie tego problemu. zobacz powód, dla którego chcesz to zrobić .. – Default