我有3个类M,L,P,每个都有自己的.header和.cpp用于封装练习我已经在每个.header和.cpp中分别放了相关的函数和属性
我在L.cpp中有这个函数float L::calculate(arg,arg,arg,arg)
,它只是一个固定的公式,它从类本身中获取参数。但我有另一个班级P
在P.cpp中,我得到/设置了L类的计算函数。在P类中,我也有构造函数,1个默认值和1个接受args(我在两个构造函数中初始化L)
然后在我的班级M中,所有的实现都聚集在一起。
我正在尝试创建一个这样的浮点数组:
float calculateThis[size]; // the size is fixed at 50.
然后在for循环中,其中x小于大小
我这样做了: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返回到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;
}
答案 0 :(得分:1)
使用括号表示这是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;