Anonymous
6/20/2025, 2:06:59 AM
No.105646073
>>105644311
#define ALL_SHAPES \
X(Triangle, 3) \
X(Rectangle, 4) \
X(Pentagon, 5)
enum Shape {
#define X(name, ...) \
Shape_ ## name
ALL_SHAPES
#undef X
};
const char* GetShapeName(enum Shape shape) {
switch (shape) {
#define X(name, ...) \
case name: return #name;
ALL_SHAPES
#undef X
};
ASSERT(false);
}
int GetShapeSides(enum Shape shape) {
switch (shape) {
#define X(name, sides, ...) \
case name: return sides;
ALL_SHAPES
#undef X
};
ASSERT(false);
}
#define ALL_SHAPES \
X(Triangle, 3) \
X(Rectangle, 4) \
X(Pentagon, 5)
enum Shape {
#define X(name, ...) \
Shape_ ## name
ALL_SHAPES
#undef X
};
const char* GetShapeName(enum Shape shape) {
switch (shape) {
#define X(name, ...) \
case name: return #name;
ALL_SHAPES
#undef X
};
ASSERT(false);
}
int GetShapeSides(enum Shape shape) {
switch (shape) {
#define X(name, sides, ...) \
case name: return sides;
ALL_SHAPES
#undef X
};
ASSERT(false);
}