這是我的函數:通過引用傳遞指針正確的方式來做到這一點?
void CreateRenderTarget(HWND, ID2D1HwndRenderTarget*);
,有是如何工作的:
void D2DRes::CreateRenderTarget(HWND hwnd, ID2D1HwndRenderTarget* pRT)
{
RECT rc;
GetClientRect(hwnd,&rc);
pFactory->CreateHwndRenderTarget(
D2D1::RenderTargetProperties(),
D2D1::HwndRenderTargetProperties(
hwnd,
D2D1::SizeU(
rc.right - rc.left,
rc.bottom - rc.top)),
&pRT);
}
它被稱爲是這樣的:
pD2DRes->CreateRenderTarget(map.GetHWnd(),map.GetpRT());
一旦從CreateRenderTarget返回(),地圖。 pRT是NULL。怎麼會?
編輯:還有就是我GetpRT()函數:
ID2D1HwndRenderTarget* MapEditor::GetpRT()
{
return pRT;
}
'GetpRT'的定義是什麼? –
ID2D1HwndRenderTarget * MapEditor :: GetpRT() { \t return pRT; } 在我的地圖對象中生成一個私人ID2D1HwndRenderTarget *。 –
另一個! :P –