首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络游戏 >

构造D3D对象时的参数传递有关问题

2012-02-12 
构造D3D对象时的参数传递问题。我的运行平台时VC8.0,DirectX用的时D3D9,2006年8月的版本。构造一个D3D的对象

构造D3D对象时的参数传递问题。
我的运行平台时VC8.0,DirectX用的时D3D9,2006年8月的版本。
构造一个D3D的对象,传参的时候,有一个参数是d3dDevice,它是一个指针的指针,下面的语句编译没有错误,可是运行时就会出错,

LPDIRECT3DDEVICE9   d3dDevice   =   NULL;

g_pD3D-> CreateDevice(   D3DADAPTER_DEFAULT,   D3DDEVTYPE_HAL,   this-> GetParent()-> m_hWnd,D3DCREATE_SOFTWARE_VERTEXPROCESSING,&d3dpp,   &d3dDevice   )

非法访问内存。给d3dDevice赋值为NULL,十有八九是要出错的,那么应该怎么写呢,d3dDevice这个参数到底怎么处理呢。按理说它是一个out参数,不赋值为啥不行呢?


[解决办法]
你确定是由于为d3dDevice这个接口赋值为NULL才导致程序出错不能运行吗?

[解决办法]
dxsdk 当中那么多的例子啊, 参考一下就知道了
先是有一个类似这样的调用的
if( NULL == ( g_pD3D = Direct3DCreate9( D3D_SDK_VERSION ) ) )
return E_FAIL;
然后把&g_pD3D作为参数传递给,CreateDevice函数的

[解决办法]
错误百分之百是LZ自己的原因。

热点排行