Dela via


Kompilatorvarning (nivå 4) C4764

Det går inte att justera fångstobjekt till större än 16 byte

Anmärkningar

En justering större än 16 har angetts, men på vissa plattformar, när funktionen kastar ett undantag, kommer stacken att framtvinga en justering som inte överstiger 16.

Example

I följande exempel genereras C4764:

// C4764.cpp
// compile with: /W4 /EHsc
// processor: x64 IPF
#include <stdio.h>

class A
{
public:
    int x;
};

typedef __declspec(align(32)) A ALIGNEDA;

int main()
{
    ALIGNEDA a;
    try
    {
        a.x = 15;
        throw a;
    }
    catch (ALIGNEDA b) // can't align b to > 16 bytes
    {
        printf_s("%d\n", b.x);
    }
}   // C4764