Share via


Upozornění kompilátoru (úroveň 4) C4764

Nelze zarovnat zachytávání objektů na více než 16 bajtů.

Bylo zadáno zarovnání větší než 16, ale na některých platformách, pokud funkce vyvolá výjimku, vynutí zásobník zarovnání, které není větší než 16.

Příklad

Následující ukázka vygeneruje 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