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
ですか?