1

システムで使用可能なGPUを繰り返し処理し、それぞれの説明をコンソールに出力しようとしています。それらを取得するためのコードはありますが、説明を取得する方法がわかりません。

std::vector <IDXGIAdapter1*> availableAdapters = EnumerateAdapters();

for_each(availableAdapters.begin(), availableAdapters.end(), [](IDXGIAdapter1* adapter) {
    auto myAdapter = *adapter;
    auto adapterDescription = new DXGI_ADAPTER_DESC1();
    myAdapter.GetDesc1(adapterDescription);
    // Print description to console here
});

auto myAdapter = *adapter;次の行を指すコンパイル時エラーが発生します。error C2259: 'IDXGIAdapter1' : cannot instantiate abstract class

DirectX 11、Windows 64ビット、およびVisualStudio2012を使用しています。ご協力いただきありがとうございます。

4

1 に答える 1

2

試す

auto& myAdapter = *adapter;
auto adapterDescription = DXGI_ADAPTER_DESC1();
myAdapter.GetDesc1(&adapterDescription);
于 2012-12-10T02:04:13.253 に答える