altes enum mit angabe des underlying data types
-
hallo leute
ist folgendes vom standard abgedeckt ?
struct flags { enum : int { value1 = 1, value2 = 2, value3 = 4, value4 = 8 }; };
in VC++ 2015 wird es anstandslos angenommen, aber was sagt der standard dazu ?
Meep Meep
-
Welchen Teil davon meinst du genau? Das angeben eines Typs hinter dem Doppelpunkt? Das gibt es seit C++11 als Strongly-typed Enums. Oder das dein enum keinen Namen hat? Das gibts schon länger und ist auch erlaubt.
-
ersteres.
enum : int
ist das laut standard erlaubt ? ist ja kein enum class. deshalb bin ich mir da nicht so sicher
Meep Meep
-
Ja, das ist erlaubt. Der sog. enum-key ist entweder
enum
,enum class
oderenum struct
. Die enum-base ist in diesem Fall: int
. Beide sind beliebig kombinierbar.