我有這個類可以幫助我製作動畫網格。C++在抽象類中遇到問題
class CAllocateHierarchy: public ID3DXAllocateHierarchy
{
public:
STDMETHOD(CreateFrame)(THIS_ LPCTSTR Name, LPD3DXFRAME *ppNewFrame);
STDMETHOD(CreateMeshContainer)(THIS_ LPCTSTR Name, LPD3DXMESHDATA pMeshData,
LPD3DXMATERIAL pMaterials, LPD3DXEFFECTINSTANCE pEffectInstances, DWORD NumMaterials,
DWORD *pAdjacency, LPD3DXSKININFO pSkinInfo,
LPD3DXMESHCONTAINER *ppNewMeshContainer);
STDMETHOD(DestroyFrame)(THIS_ LPD3DXFRAME pFrameToFree);
STDMETHOD(DestroyMeshContainer)(THIS_ LPD3DXMESHCONTAINER pMeshContainerBase);
CAllocateHierarchy(CMyD3DApplication *pApp) :m_pApp(pApp) {}
public:
CMyD3DApplication* m_pApp;
};
但是當我嘗試intallizes一類像CAllocateHierarchy allloc(this);
我會得到錯誤。 16 IntelliSense: object of abstract class type "CAllocateHierarchy" is not allowed: c:\users\owner\documents\visual studio 2010\projects\monopoly\monopoly\monopoly.cpp 186
我很確定這是正確的,因爲我即將發佈相同的答案。 – dlanod 2010-11-01 22:49:46
我做了什麼讓我告訴我把const的一些,但沒有工作 – Ramilol 2010-11-01 23:07:33
現在,我看近一些,我也注意到一些缺少'*'的參數:而不是預期的「const D3DXMESHDATA * pMeshData」,你宣佈一個「LPD3DXMESHDATA pMeshData」。所以添加const是不夠的。嘗試通過粘貼我提供的MSDN鏈接參數來更新您的聲明。 – Sjoerd 2010-11-01 23:10:15