我无法合理化,因为为什么我们不能将数组的大小用作返回常量的函数调用。
编译时遇到以下错误。
错误E2313:函数main()中需要常量表达式

int getsize()
{
    return 2;
}

void main()
{
    const int x= getsize();
    int arr[x];

}

最佳答案

您没有使用getsize()属性声明constexpr。如果您使用constexpr,那么许多现代C++编译器将能够执行您想要的操作。

10-05 18:04