【发布时间】:2011-06-27 07:03:57
【问题描述】:
我应该如何更改下面的代码,以使Array<Index> array; 足够,并从枚举中自动推导出SIZE?
即使枚举发生变化,也保证它包含 SIZE 指的是正确的大小。
template <typename Enum, int N>
class Array {
public:
int& operator[](Enum index) { return array[index]; }
private:
int array[N];
};
enum Index { X, Y, SIZE };
int main() {
Array<Index, SIZE> array;
array[X] = 1;
return 0;
}
更新: 至于“Array
【问题讨论】:
-
你不能计算一个枚举中的枚举元素个数。
-
是的,但在我的情况下,它保证有一个
SIZE指代元素的数量。 -
我想我不明白这个问题。
标签: c++ arrays templates enums