Partilhar via


Aviso do compilador (nível 3) C4316

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

Observações

Um objeto sobrealinhado alocado usando operator new pode não ter o alinhamento especificado. Sobrescrever operator new e operator delete para tipos com sobrealinhamento de modo a utilizarem as rotinas de alocação alinhada — por exemplo, _aligned_malloc e _aligned_free.

Example

O exemplo a seguir gera C4316:

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

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

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