gpt4 book ai didi

c++ - 从另一个数组值初始化数组大小

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:56:17 24 4
gpt4 key购买 nike

#include<iostream> 
using namespace std;

const int vals[] = {0, 1, 2, 3, 4};

int newArray[ vals[2] ]; //"error: array bound is not an integer constant"

int main(){
return vals[2];
}

//returns 2 if erroneous line is removed

为什么这行不通?

最佳答案

不幸的是,您不能在标准 C++ 中这样做,因为 vals[2] 不是常量表达式!在即将到来的标准中,您将拥有 constexpr(在 g++ 4.6 中实现)来轻松请求编译时评估:

#include<iostream> 
using namespace std;

constexpr int vals[] = {0, 1, 2, 3, 4};

int newArray[ vals[2] ]; // vals[2] is a constant expression now!

int main(){
return vals[2];
}

关于c++ - 从另一个数组值初始化数组大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4589463/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com