struct s { int i; };
template<const s* _arr>
class struct_array
{
public:
static const s arr;
template<int >
struct inner // line 9, without this struct, it works
{
};
};
template<const s* _arr>
const s struct_array<_arr>::arr = _arr[0];
extern const s s_objs[] = {{ 42 }};
int main()
{
struct_array<s_objs> t_obj;
return 0;
}
c3RydWN0IHMgeyBpbnQgaTsgfTsKCnRlbXBsYXRlPGNvbnN0IHMqIF9hcnI+CmNsYXNzIHN0cnVjdF9hcnJheQp7CnB1YmxpYzoKICAgIHN0YXRpYyBjb25zdCBzIGFycjsKICAgIHRlbXBsYXRlPGludCA+CiAgICBzdHJ1Y3QgaW5uZXIgLy8gbGluZSA5LCB3aXRob3V0IHRoaXMgc3RydWN0LCBpdCB3b3JrcwogICAgeyAgICAKICAgIH07Cn07Cgp0ZW1wbGF0ZTxjb25zdCBzKiBfYXJyPgpjb25zdCBzIHN0cnVjdF9hcnJheTxfYXJyPjo6YXJyID0gX2FyclswXTsKCmV4dGVybiBjb25zdCBzIHNfb2Jqc1tdID0ge3sgNDIgfX07CgppbnQgbWFpbigpCnsKICAgIHN0cnVjdF9hcnJheTxzX29ianM+IHRfb2JqOwogICAgcmV0dXJuIDA7Cn0=