gpt4 book ai didi

c++ - 是否可以使用枚举来访问数组?

转载 作者:太空狗 更新时间:2023-10-29 19:59:02 25 4
gpt4 key购买 nike

以下是否有效:

enum TileBmp {Mask, Grass, Sand, Snow, Swamp, Paved, Rock, Savannah, Lava}

ID2D1Bitmap* pBmpTile[TileBmp];

这是否会创建一个大小为 9 的数组,其中的任何元素都可以使用其编号或名称进行访问?例如,pBmpTile[3] 和 pBmpTile[Snow] 是否都引用相同的 ID2D1Bitmap*?

我现在不能尝试,而且要等到某些时候才能尝试。否则我会自己尝试。

如果这行不通,是否有更清洁的替代方案

ID2D1Bitmap* pBmpTile[9]

ID2D1Bitmap* pBmpMask, pBmpGrass, pBmpSand, pBmpSnow, pBmpSwamp, pBmpPaved, pBmpRock, pBmpSavannah, pBmpLava;

?

最佳答案

TileBmp 是一个类型,您的数组声明需要一个数字,而不是类型。 p>

这会起作用,因为单个 enum可以转换为整数。

enum TileBmp {Mask, Grass, Sand, Snow, Swamp, Paved, Rock, Savannah, Lava, TILEBMP_COUNT};

ID2D1Bitmap* pBmpTile[TILEBMP_COUNT];

would pBmpTile[3] and pBmpTile[Snow] both refer to the same ID2D1Bitmap*?

在这个例子中,是的。

除非另有说明,否则 enum 中的第一个值可转换为 0 并且每个其他枚举都比 1在它之前枚举

关于c++ - 是否可以使用枚举来访问数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15736200/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com