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
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro