The “align” Declaration Specifier


Within a __declspec, this specifier is

align ( number )

In a managed build, it is an error (C3839) to apply the align attribute inside the definition of a managed type.

It is a syntax error (C2059) if the first token after align is not an opening parenthesis or the next token is not a constant (for number). It is an error (C2058) if this constant is not an integer. Only the low 16 bits of number are significant. These must evaluate to a power of two (else error C2344) between 1 and 0x2000 inclusive (else error C2345). It is a syntax error (C2059) if the token after number is not a closing parenthesis.