gpt4 book ai didi

C++交叉初始化初始化 float 组时跳转到case标签

转载 作者:太空宇宙 更新时间:2023-11-04 05:43:06 25 4
gpt4 key购买 nike

我有 3 个类 M 、 L 、 P ,每个类都有自己的 .header 和 .cpp 用于封装实践我已分别在每个 .header 和 .cpp 中放置了相关的函数和属性

我有这个函数float L::calculate(arg,arg,arg,arg),它位于 L.cpp 中,它只是一个固定公式,其参数取自类本身。但我还有另一个类(class) P

在P.cpp中,我有L类的计算函数的get/set。在类 P 中,我也有构造函数,1 个默认值和 1 个接受参数的构造函数(我也在两个构造函数中初始化 L)

然后在我的 M 类中,所有实现都集中在一起。

我正在尝试创建一个像这样的 float 组:

float calculateThis[size]; // the size is fixed at 50.

然后在 for 循环中,其中 x 小于 size

我这样做了:

calculateThis[x] = newL[x].caculate(args,args,args,args);
newP.setCalculate(calculateThis[x]);
++x;

我也在上面声明了

L newL[size]; //Used for some other methods that i have wrote to get inputs   and save it .
P newP[size];

当我编译时出现此错误:

  crosses initialization of ‘float calculateThis[size]’
float calculateThis[size];

基本上,我试图将返回浮点的计算函数保存到 float 组中

编辑:

    switch(choice)
{
case 1: // 1st Choice.
while(entry<size)
{
//getting user input and saving it by newL.set / newP.set
};
break;

case 2:
float calculateThis[size]; // the size is fixed at 50.
for(x=0,x<size)
{ calculateThis[x] = newL[x].caculate(newL.get(),newL.get(),newL.get(),newL.get());
newP.setCalculate(calculateThis[x]);
++x;
}
break;

default:break;
}

最佳答案

使用方括号表示这是 calculateThis 的本地范围:

    case 2:
{
float calculateThis[size]; // the size is fixed at 50.
for(x=0,x<size)
{
calculateThis[x] = newL[x].caculate(newL.get(),newL.get(),newL.get(),newL.get());
newP.setCalculate(calculateThis[x]);
++x;
}
}break;

关于C++交叉初始化初始化 float 组时跳转到case标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40148849/

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