数组饼图的大小具有非集成类型'double'错误,

size of array pie has non-intergral type 'double' error,

本文关键字:类型 double 错误 集成 数组      更新时间:2023-10-16
<double c, six, part1, part2, part3, part4,part5;
long double pi;
    cout << "enter a number: ";
    cin >> c;
    for(double i = 0; i < c; i++)
    {
           part1 = (1/(pow(16 ,(double)i)));
           part2 = 4/(((8*i))+1);
           part3 = 2/(((8*i))+4);
           part4 = 1/(((8*i))+5);
           part5 = 1/(((8*i))+6);
            pi = ((part1)*(part2 - part3 - part4 - part5));
           for(int ii = 0; ii < c; ii++)
           {
                   int pie[i] = pi;
            }

            cout << pi << "n";>

由于某种原因,我无法将我的值存储在数组中,请帮助! 我不知道是它的初始化错误还是转换错误还是什么。

好的,很抱歉,我修复了它,没有注意到我没有在数组中放置第二个 i,现在它给了我可变大小初始化错误。 有什么办法吗?

我想你的意思

pie[i] = pi;

而不是

int pie[i] = pi;

但是,您仍然必须在某处声明馅饼。而且你的代码的逻辑对我来说有点混乱,所以我不确定还有什么建议。

但无论如何,您必须了解声明数组的位置之间的区别,例如 int pie[100];以及分配数组的位置,例如 pie[i] = pi; .这是两回事。

 for(int ii = 0; ii < c; ii++)
 {
  pie[ii] = pi; // not pie[i],since its in the loop with iterator ii
 }

这有帮助吗?

对于pie[i],使用 i 的外部循环值。