我面临的一个问题,当我尝试访问阵列的阵列的指针,我已声明为以下几个阵列:如何访问不同大小的数组的字节数组?
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