template <int I>
struct A {};
int main()
{
int length = 1;
int ar[length];
A<sizeof(ar)> a;
return 0;
}
我收到错误:(unsigned int)((((unsigned int)(((int)length) + -0x000000001)) + 1u) * 4u)
不是类型“int”的有效模板参数,因为它是一个非常量表达式
这个表达的意义是什么?为什么不能只是length * 4u
?