000
09.09.2007, 17:15 Uhr
xXx
Devil
|
Seid ich folgendes drin hab:
C++: |
std::vector< graphic::resolution_t > resolutions; graphic::Direct3D::instance().get_supported_resulution(resolutions);
|
=>
C++: |
typedef std::pair<std::size_t, std::size_t> resolution_t;
|
=>
C++: |
void Direct3D::get_supported_resolution(std::vector< resolution_t > & data) { data.clear(); D3DDISPLAYMODE mode; std::size_t count(m_lpDirect3D->GetAdapterModeCount(D3DADAPTER_DEFAULT, D3DFMT_X8R8G8B8)); for (std::size_t i = 0; i < count; ++i) { m_lpDirect3D->EnumAdapterModes(D3DADAPTER_DEFAULT, D3DFMT_X8R8G8B8, static_cast<UINT>(i), &mode); resolution_t cur(std::make_pair(mode.Width, mode.Height)); if (cur.first >= 800 && cur.second >= 600 && std::find(data.begin(), data.end(), cur) == data.end()) data.push_back(cur); } }
|
Bekomme ich beim Verlassen der Funktion, die den 1. Snippet aufruft, immer eine Exception um die Ohren ... vom Destruktor von resolutions ?! Jemand eine Idee woran das liegen könnte? |