Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/127.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何通过提供参考发送D3D设备(DirectX/C+;+;Prgoramming)_C++_Pointers_Directx_Directx 9 - Fatal编程技术网

C++ 如何通过提供参考发送D3D设备(DirectX/C+;+;Prgoramming)

C++ 如何通过提供参考发送D3D设备(DirectX/C+;+;Prgoramming),c++,pointers,directx,directx-9,C++,Pointers,Directx,Directx 9,H1。 我正试图将代码分成不同的.cpp和.h文件,以使它们更容易查找、查看和理解。下面是我现在要做的:我得到了一个网格.cpp,它是我的主.cpp源文件。在Render函数(Render())中,我必须调用一个名为setupmatrix的函数: 这是我的“d3dgener.cpp”文件: 这是我的“Meshes.cpp”文件:(这是主cpp文件) 名为DXUT.h的头文件包含其他常规include。 因此,当我这样做时,我会得到一个错误: 错误2错误C2227:“->SetTransform”

H1。 我正试图将代码分成不同的.cpp.h文件,以使它们更容易查找、查看和理解。下面是我现在要做的:我得到了一个网格.cpp,它是我的主.cpp源文件。在Render函数(Render())中,我必须调用一个名为setupmatrix的函数:

这是我的“d3dgener.cpp”文件:

这是我的“Meshes.cpp”文件:(这是主cpp文件)

名为DXUT.h的头文件包含其他常规include。 因此,当我这样做时,我会得到一个错误:

错误2错误C2227:“->SetTransform”的左侧必须指向类/struct/union/generic type c:\users\catt\desktop\deneme\d3dgeneral.cpp 74 MeshClass

我知道这意味着什么,但我不知道如何避免。看来我的指针有问题。我也试着像这样使用PDev:

*PDev->SetTransform( D3DTS_PROJECTION, &matProj );  // ???
我知道我不必在该函数中使用带有引用的d3dDevice,但我还有一个函数Cleanup。我想我需要为它提供参考,因为它必须清洁真正的设备本身,而不是它的副本8)。我希望我的解释是正确的。如果你能帮我的话,那将是非常糟糕的。感谢您抽出时间……

您是否尝试过:

(*PDev)->SetTransform( D3DTS_PROJECTION, &matProj ); 

LPDIRECT3D9DEVICE
已经是指针。你不需要指向它的指针。只需按值获取
LPDIRECT3D9DEVICE


当然,我个人更喜欢使用
IDirect3D9Device*
,因为它更清晰,此外,我喜欢将原始指针存储在智能指针中。

感谢您的回复。我试着在没有指针的情况下使用它:它说有对话错误。。。也许我做了些工作。。。Cem Kalyoncu说的是为我工作的。
*PDev->SetTransform( D3DTS_PROJECTION, &matProj );  // ???
(*PDev)->SetTransform( D3DTS_PROJECTION, &matProj );