Czy da się dopisać coś do enuma wewnątrz klasy przy pomocy funkcji?

Czy da się dopisać coś do enuma wewnątrz klasy przy pomocy funkcji?
  • Rejestracja: dni
  • Ostatnio: dni
0

Witam, czy da się dopisać coś do enuma wewnątrz klasy przy pomocy funkcji?
Chodzi mi o coś takiego:

Kopiuj
 
class EventControl
{
	enum event_name
	{
		//nazwy eventow
	}

	map<int, Event>events;
	void handleEvent(event_name arg_event_name);
	void addEvent(Event arg_event)
	{
		events[arg_event.id] = arg_event;
		// i tu jakoś dodać żeby arg_event.name było w enum event_name pod numerem arg_event.id;
	}
};

Chciałbym żeby do metody handleEvent można było przekazać w parametrze tylko enuma event_name,
jednocześnie chce mieć możliwość dodawania eventów za pomocą addEvent.

Endrju
  • Rejestracja: dni
  • Ostatnio: dni
1

Nie da się.

Musisz napisać swój mechanizm, który będzie to realizował.

kq
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Szczecin
1

Nie możesz dynamicznie zmieniać enumów, muszą one być znane w czasie kompilacji. Poza tym, ich nazwy nie są nawet dostępne podczas uruchomienia.

  • Rejestracja: dni
  • Ostatnio: dni
0

Ok, dzięki za odpowiedzi, pewnie wezmę się za pisanie swojego mechanizmu :)

  • Rejestracja: dni
  • Ostatnio: dni
0

Oto twój mechanizm: map<string,size_t> myenum; - _13th_Dragon

Już do tego doszedłem ale i tak dzięki ;)

vpiotr
  • Rejestracja: dni
  • Ostatnio: dni

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.