Предупреждение компилятора (уровень 3) C4316
Объект, выделенный в куче, не может быть выровнен для этого типа.
Выделенный по выравниванию объект operator new
может не иметь указанного выравнивания. Переопределите оператор new and operator delete for over-aligned types, чтобы они использовали выровненные подпрограммы выделения, например _aligned_malloc и _aligned_free. Следующий пример приводит к возникновению ошибки C4316:
// C4316.cpp
// Test: cl /W3 /c C4316.cpp
__declspec(align(32)) struct S {}; // C4324
int main() {
new S; // C4316
}