コンパイラの警告 (レベル 3) C4316
ヒープで割り当てられているオブジェクトが、この型にアラインされていない可能性があります。
operator new
を使用して割り当てられたオブジェクトがオーバーアラインされている場合は、このオブジェクトにアラインメントが指定されていない可能性があります。 オーバーアラインされた型について、operator new と operator delete をオーバーライドします。これにより、_aligned_malloc や _aligned_free など、アラインされた割り当てルーチンが使用されるようになります。 次の例では C4316 が生成されます。
// C4316.cpp
// Test: cl /W3 /c C4316.cpp
__declspec(align(32)) struct S {}; // C4324
int main() {
new S; // C4316
}