我无法合理化,因为为什么我们不能将数组的大小用作返回常量的函数调用。
编译时遇到以下错误。
错误E2313:函数main()中需要常量表达式
int getsize()
{
return 2;
}
void main()
{
const int x= getsize();
int arr[x];
}
最佳答案
您没有使用getsize()
属性声明constexpr
。如果您使用constexpr
,那么许多现代C++编译器将能够执行您想要的操作。