Skip to content

Improve C4324 warning reference #5569

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 5 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,27 +1,35 @@
---
description: "Learn more about: Compiler Warning (level 4) C4324"
title: "Compiler Warning (level 4) C4324"
ms.date: "11/04/2016"
description: "Learn more about: Compiler Warning (level 4) C4324"
ms.date: 07/22/2025
f1_keywords: ["C4324"]
helpviewer_keywords: ["C4324"]
---
# Compiler Warning (level 4) C4324

> '*structname*': structure was padded due to alignment specifier
> '*type*': structure was padded due to alignment specifier

## Remarks

Padding was added at the end of a structure because you specified an alignment specifier, such as [__declspec(align)](../../cpp/align-cpp.md).
Padding was added at the end of a class/struct/union because you specified an alignment specifier, such as [`alignas`](../../cpp/alignas-specifier.md) or [`__declspec(align)`](../../cpp/align-cpp.md).

For example, the following code generates C4324:
## Example

For example, `S1` and `S2` generates C4324 because padding is added when the specified alignment is greater than the default alignment of `1` and `4` respectively:

```cpp
// C4324.cpp
// compile with: /W4
struct __declspec(align(32)) A
// compile with: /W4 /c

struct alignas(4) S1 {}; // C4324

struct alignas(8) S2
{
char a;
int i;
}; // C4324

int main()
struct alignas(4) S3
{
}
int i;
}; // OK
```
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ The articles in this section describe Microsoft C/C++ compiler warning messages
|Compiler warning (level 1) C4321|automatically generating an IID for interface '*interface*'|
|Compiler warning (level 1) C4322|automatically generating a CLSID for class '*class*'|
|Compiler warning (level 1) C4323|re-using registered CLSID for class '*class*'|
|[Compiler warning (level 4) C4324](compiler-warning-level-4-c4324.md)|'*structname*': structure was padded due to alignment specifier|
|[Compiler warning (level 4) C4324](compiler-warning-level-4-c4324.md)|'*type*': structure was padded due to alignment specifier|
|[Compiler warning (level 1) C4325](compiler-warning-level-1-c4325.md)|attributes for standard section '*section*' ignored|
|[Compiler warning (level 1) C4326](compiler-warning-level-1-c4326.md)|return type of '*function*' should be '*type1*' instead of '*type2*'|
|Compiler warning C4327|'*assignment*': indirection alignment of LHS ('*alignment1*') is greater than RHS ('*alignment2*')|
Expand Down