Since enums are not arrays, PAWN doesn't return the often desired result. This is because:
enum X
{
A,
B[10],
C
}
is equal to:
enum X
{
A,
B,
C = B + 10
}
enum ENUMERATOR
{
enum_array<foo>[24]
};
new
foo_copy[sizeof_enum(enum_array)]; // creates an array with size of 24
printf("sizeof(foo_copy): %d", sizeof(foo_copy)); // prints out 24