Delen via


Compilerwaarschuwing (niveau 4) C4764

Kan catch-objecten niet uitlijnen op meer dan 16 bytes.

Opmerkingen

Er is een uitlijning groter dan 16 ingesteld, maar op sommige platforms, als een uitzondering optreedt, zal de stack een uitlijning van maximaal 16 afdwingen.

Example

In het volgende voorbeeld wordt C4764 gegenereerd:

// 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