Compartilhar via


Aviso do Compilador (nível 3) C4316

O objeto alocado no heap pode não estar alinhado para esse tipo.

Um objeto superalinhado alocado usando operator new pode não ter o alinhamento especificado. Substitua o operator new e operator delete de tipos superalinhados para que eles usem as rotinas de alocação alinhadas, por exemplo, _aligned_malloc e _aligned_free. A seguinte amostra gera C4316:

// C4316.cpp
// Test: cl /W3 /c C4316.cpp

__declspec(align(32)) struct S {}; // C4324

int main() {
    new S; // C4316
}