Я работаю с проектом C, использующим DirectX, и столкнулся с проблемой. Для некоторых вызовов DX требуется объект IID
, обычно сгенерированный с __uuidof
. Одна вещь, для которой это требуется, - это создание RenderTargetView. Примеры / учебные пособия по DirectX делают это:
ID3D11Texture2D* pBackBuffer = NULL;
hr = g_pSwapChain->GetBuffer( 0, __uuidof( ID3D11Texture2D ), ( LPVOID* )&pBackBuffer );
Когда я пытаюсь вызвать __uuidof
в моем C-коде, я получаю ошибку компилятора: Error 19 error C4233: nonstandard extension used : '__uuidof' keyword only supported in C++, not C
. DirectX имеет интерфейс C, поэтому я думаю, что должен быть способ сделать это, но я понятия не имею, что это будет. Кто-нибудь знает?