предупреждение C4316: объект, выделенный в куче, может быть не выровнен 16

Важная информация:

Разработка ОС: Windows 8.1 64 битЦелевая ОС: Windows 8.1 64 битIDE: Visual Studio 2013 ProfessionalЯзык: C ++

Проблема:

При компиляции проекта статической библиотеки через IDE я получаю следующее предупреждение:

warning C4316: ... : object allocated on the heap may not be aligned 16

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

Я считаю, что эта строка кода связана с проблемой, который вызывается в моем классе оболочки Windows Win32:

m_direct3D = new Direct3D(this);

m_direct3D - указатель на мой класс-оболочку Direct3D.

Вот заголовочный файл для оболочки (Я признаю, что это нужно урезать):

#pragma once

// Windows
#include <d3d11.h>
#include <DirectXMath.h>

// Standard
#include <stdint.h>
#include <vector>

// JGlib
#include "Window.h"

namespace JGlib
{
    namespace Graphics
    {
        class Direct3D
        {
        public:
            // Construtor and destructor
            Direct3D(const JGlib::Graphics::Window* window);
            ~Direct3D();

            // Public methods
            void Initialise();
            void BeginDraw();
            void Draw();
            void EndDraw();

        private:
            // Private methods

            // Private member variables
            const Window*               m_window;
            ID3D11Device*               m_device;
            IDXGIAdapter*               m_adapter;
            DXGI_ADAPTER_DESC           m_adapterDescription;
            uint32_t                    m_videoCardMemory;
            IDXGIFactory*               m_factory;
            IDXGIOutput*                m_monitor;
            DXGI_MODE_DESC*             m_displayModes;
            uint32_t                    m_numberOfModes;    
            DXGI_RATIONAL               m_refreshRate;
            DXGI_SWAP_CHAIN_DESC        m_swapChainDescription;
            D3D_FEATURE_LEVEL           m_featureLevel;
            ID3D11DeviceContext*        m_deviceContext;
            IDXGISwapChain*             m_swapChain;
            ID3D11Texture2D*            m_backBuffer;
            ID3D11RenderTargetView*     m_renderTargetView;
            ID3D11Texture2D*            m_depthStencilBuffer;
            D3D11_TEXTURE2D_DESC        m_depthBufferDescription;
            D3D11_DEPTH_STENCIL_DESC    m_depthStencilDescription;
            ID3D11DepthStencilState*    m_depthStencilState;
            ID3D11DepthStencilView*     m_depthStencilView;
            D3D11_RASTERIZER_DESC       m_rasterDescription;
            D3D11_VIEWPORT              m_viewport; 
            float                       m_fieldOfView;
            float                       m_screenAspectRatio;
            ID3D11RasterizerState*      m_rasterState;
            DirectX::XMMATRIX           m_projectionMatrix;
            DirectX::XMMATRIX           m_worldMatrix;
            DirectX::XMMATRIX           m_orthographicMatrix;
            float                       m_screenDepth;
            float                       m_screenNear;
        };
    }
}

Я попытался погуглить вопрос, но нашел мало информации. Информацию, которую я нашел, я не понял.

В заключение я прошу следующее:

Что означает C4316?Что вызывает это в моем коде?Какие последствия это может иметь в будущем, если я проигнорирую это?Как мне «исправить» проблему, из-за которой появляется это предупреждение?

Дополнительная информация:

Когда я изменил диспетчер конфигурации Visual Studio для компиляции для x64, эта проблема не возникала.

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

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