gpt4 book ai didi

c++ - 获取数组类型的无效错误

转载 作者:行者123 更新时间:2023-11-28 01:50:35 26 4
gpt4 key购买 nike

在 for 循环中获取无效的数组类型,不允许我填充数组 sivalues。它不会用 x 填充数组

int main () {
double a,b,increment,para;
int N;
cout<< "enter values for (a,b,N)";
cin>>a;
cin>>b;
cin>>N;
increment= (b-a)/(N-1);
double sivalues[N];
for (double x=a;x<=b;x+=increment){
sivalues[x]=si(x);
cout<<"si("<<x<<") = "<< sivalues[x];
}

system("PAUSE"); return 0;

}

最佳答案

当您编写 sivalues[x] 时,您使用的是 double 作为数组索引。这是无效的,因为获取数组的第 2.5 个元素是没有意义的。因此,您需要将 double 转换为 int

您可以使用默认转换(例如:sivalues[int(x)]=si(x);。请注意此转换不四舍五入,因此如果 x 为 5.99,它仍将转换为 5(参见 C++: How to round a double to an int?)

关于c++ - 获取数组类型的无效错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43164615/

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