我面臨的一個問題,當我嘗試訪問陣列的陣列的指針,我已聲明爲以下幾個陣列:如何訪問不同大小的數組的字節數組?
BYTE a[5] = {0xcc,0xaa,0xbb,0xcc,0xff};
BYTE b[3] = {0xaa,0xbb,0xff};
茨艾倫字節數組表示,我想從DLL中的內存加載圖像,我可以毫無困難地分別訪問他們,但我想從一個指針的循環訪問他們...
我試圖把它們放到數組的數組是這樣的:
BYTE* c[2] = {a,b};
但當我想循環這個指針c [i]在i索引處向我的內存加載圖像,我怎麼能修復它?
我嘗試一個循環內畫用這種方法的圖像,以避免repating線(考慮c是圖像[1])
void MenuIcon::drawIcons(LPDIRECT3DDEVICE9 npDevice)
{
isMenuVisible = (Pos.x < 100) && (Pos.x > 0)? true : false;
if(isMenuVisible)
for (int i = 0; i < 2; i++)
{
if (icon[i].img == NULL)D3DXCreateTextureFromFileInMemory(npDevice, &images[i], sizeof(images[i]), &icon[i].img);
DrawTexture(icon[i].coord.x, icon[i].coord.y, icon[i].img);
}
}
我嘗試使用我的方法是這樣讀你的答案後:
void MenuIcon::drawIcons(LPDIRECT3DDEVICE9 npDevice)
{
isMenuVisible = (Pos.x < 100) && (Pos.x > 0)? true : false;
if(isMenuVisible)
for (size_t i = 0; i < images.size(); i++)
{
std::vector<BYTE>& curArray = images[i];
if (icon[i].img == NULL)D3DXCreateTextureFromFileInMemory(npDevice, &curArray, curArray.size(), &icon[i].img);
DrawTexture(icon[i].coord.x, icon[i].coord.y, icon[i].img);
}
}
但它仍然沒有畫任何....也許&curArray
是不是所謂的prop ?? ?? NB - >我登錄arrayofarray的兩個圖像和大小,並返回我正確的價值觀....
你不能。您需要爲兩者分配內存並將其複製到那裏。 –
你需要知道你有指針的數組的實際大小。 C++中的一種方式是不使用C風格的數組,但[[std :: array]](http://en.cppreference.com/w/cpp/container/array)(或者可選['std :: vector '](http://en.cppreference.com/w/cpp/container/vector))。 –
其非常煩人:(如果我有像100圖像我怎麼能做得更有效率?,有人可以提供給我一個片段或暗示要做它應該做的嗎? – Noj