Использование XMVECTOR из DirectXMath в качестве члена класса вызывает сбой только в режиме выпуска?

я пытался использовать XMVECTOR в качестве члена класса для ограничивающего прямоугольника, так как я делаю много вычислений, но я использую XMFLOAT3 только один раз на кадр, поэтому ограничивающий прямоугольник имеет метод, который дает мне этоцентр в XMFLOAT3, в противном случае он остается в XMVECTOR; класс обнуляется с __declspec (align (16)) и работает в режиме отладки.

    Box& Box::operator=(const Box& box)
    {
        _center = box._center;
        _extents = box._extents;
        return *this;
    }

Всякий раз, когда я делаю:

Box A;

Box B;

A = B;

Это дает сбой, давая мне 0xC0000005: Место чтения нарушения доступа 0x00000000. Также он падает, когда я создаю его как указатель:

Box* A = new Box();

Это конструктор:

    Box::Box()
    {
        center = XMVectorZero();
        extents = XMVectorSplatOne();
    }

Опять же, это прекрасно работает в режиме отладки, но в выпуске происходит сбой. Что может изменить режим выпуска, что приведет к созданию недействительного кода? Нужно ли делать что-то еще, кроме выравнивания блока в 16 байтов?

Ответы на вопрос(1)

Ваш ответ на вопрос