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' 的有效模板參數,因爲它是一種非恆定表達表達式((的SizeType)(((ssizetype)長度)+ 1))+ 1
這個表達意義是什麼?爲什麼不能只是length * 4u
?
你問這個表達的目的,或者你爲什麼會收到錯誤? – cdhowie
@cdhowie我問一下表達的感覺。我知道錯誤的原因; – eXXXXXXXXXXX2