#include <cstddef>
#include <array>
template <typename T,size_t D>
class A
{
std::array<T,D> foo_;
public:
/* ... *tors, etc ... */
T& operator[](size_t pos)
{
return foo_[pos];
}
};
int main()
{
A<int, 50> a;
a[5] = 55;
}
I2luY2x1ZGUgPGNzdGRkZWY+CiNpbmNsdWRlIDxhcnJheT4KCnRlbXBsYXRlIDx0eXBlbmFtZSBULHNpemVfdCBEPgpjbGFzcyBBCnsKICAgIHN0ZDo6YXJyYXk8VCxEPiBmb29fOwogCiAgICBwdWJsaWM6CiAgICAgICAgLyogLi4uICp0b3JzLCBldGMgLi4uICovCiAgICAgICAKICAgICAgICBUJiBvcGVyYXRvcltdKHNpemVfdCBwb3MpCiAgICAgICAgewogICAgICAgICAgICByZXR1cm4gZm9vX1twb3NdOwogICAgICAgIH0KfTsKIAppbnQgbWFpbigpCnsKICAgIEE8aW50LCA1MD4gYTsKICAgIGFbNV0gPSA1NTsKfQ==