从指向包含它的类的指针调用时,以下函数有效。但是,当包含此函数的类在结构内部初始化,然后在该结构的内部上调用时,从另一个类中,它会崩溃。
在后一种情况下,当结构内部的东西是2层深时,在调试时,数组大小是未知的。 在工作的情况下,调试数组 时已知 不知道它为什么表现不同,其他一切都是一样的。
(在标题中声明:)
vector<Microsoft::WRL::ComPtr <ID3D11ShaderResourceView>> _textureViews;
ID3D11ShaderResourceView** TextureClass::GetTextureArray()
{
return _textureViews[0].GetAddressOf();
}
这是完整的代码。非常感谢任何见解,谢谢。
https://github.com/mister51213/DirectX11Engine/blob/Restructure/DirectX11Engine/GfxUtil.h
答案 0 :(得分:0)
哎呀,这只是草率的编码。我正在使用另一个指向纹理数组的范围内指针来屏蔽材质struct initialize函数中的本地指针,因此成员变量版本甚至没有被初始化。与结构或ComPointers无关。谢谢你的帮助。