【发布时间】:2019-05-31 02:14:23
【问题描述】:
我有一个包含以下代码的头文件:
Microsoft::WRL:ComPtr<ID3D11Device2> m_device;
在类定义中。 Visual Studio 2013 说微软不是一个命名空间,如果我把代码删掉并放在另一个文件中的另一个类中,它就可以正常工作!
有什么想法吗?
菲利普
编辑:突然之间(我没有更改任何内容)Intelissense 现在接受 Microsoft::WRL::ComPtry 为有效,但当我编译时它仍然给我它不存在的错误。
【问题讨论】:
-
你是否包含
client.h让编译器知道ComPtr类型和命名空间?也许另一个文件已经包含它或包含包含它的东西。 -
名为 client.h 的文件不会显示在自动完成中。此外,我粘贴到的另一个文件不包含任何其他内容,并且可以正常工作...
-
使用 C++/CX 的关键在于您不必退回到巫毒教的低层,即龙居住的那种。您使用
#include <wrl\client.h>调用dragon,以便编译器可以看到命名空间和类型。如果阳光明媚,这有助于它找到 c:\Program Files (x86)\Windows Kits\8.1\Include\winrt\wrl\client.h。
标签: visual-studio-2013 directx-11 c++-cx