Derleyici Uyarısı (düzey 4) C4764
Catch nesneleri 16 bayttan büyük nesnelere hizalanamıyor
16'dan büyük bir hizalama belirtildi, ancak bazı platformlarda işlev özel durum oluşturursa, yığın 16'dan büyük olmayan bir hizalamayı zorlar.
Örnek
Aşağıdaki örnek C4764 oluşturur:
// 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