コンパイラの警告 (レベル 3) C4316
ヒープで割り当てられているオブジェクトが、この型にアラインされていない可能性があります。
operator new を使用して割り当てられたオブジェクトがオーバーアラインされている場合は、このオブジェクトにアラインメントが指定されていない可能性があります。 オーバーアラインされた型に対して演算子 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
}