struct CD3DX12_PACKED_MIP_INFO : public D3D12_PACKED_MIP_INFO{};
//------------------------------------------------------------------------------// 2D Vector; 32 bit floating point componentsstruct XMFLOAT2{ float x; float y; XMFLOAT2() XM_CTOR_DEFAULT XM_CONSTEXPR XMFLOAT2(float _x, float _y) : x(_x), y(_y) {} explicit XMFLOAT2(_In_reads_(2) const float *pArray) : x(pArray[0]), y(pArray[1]) {} XMFLOAT2& operator= (const XMFLOAT2& Float2) { x = Float2.x; y = Float2.y; return *this; }};// 2D Vector; 32 bit floating point components aligned on a 16 byte boundary__declspec(align(16)) struct XMFLOAT2A : public XMFLOAT2{ XMFLOAT2A() XM_CTOR_DEFAULT XM_CONSTEXPR XMFLOAT2A(float _x, float _y) : XMFLOAT2(_x, _y) {} explicit XMFLOAT2A(_In_reads_(2) const float *pArray) : XMFLOAT2(pArray) {} XMFLOAT2A& operator= (const XMFLOAT2A& Float2) { x = Float2.x; y = Float2.y; return *this; }};//------
Note you should always add the methods *after* the fields, so fields first, then the methods, albeit only to reflect it is still a record.