有一些非常奇怪的问题,作为 c++ 的初学者,我不知道为什么。
struct DeviceSettings
{
public:
....somevariables
DXSize BackbufferSize;
....somemethods
};
struct DXPoint;
typedef DXPoint DXSize;
__declspec(align(16)) struct DXPoint
{
public:
union
{
struct
{
int x;
int y;
};
struct
{
int width;
int height;
};
int dataint[2];
__m128i m;
};
DXPoint(void);
DXPoint(int x, int y);
~DXPoint(void);
void operator = (const DXPoint& v);
};
出于某种原因,当我声明 DeviceSettings 时,应用程序崩溃导致 DXSize var 未正确对齐。
但这只有在 32 位模式下编译。在 64 位模式下工作正常...
有什么线索吗?我错过了一些明显的东西吗?