#include <stdio.h>
#include <iostream>
#include <conio.h>
#include <locale>
using namespace std;
class Equation
{
private:
double a, b, c, d;
public:
double fun[4];
Equation()
{}
Equation(double a, double b, double c, double d)
{
fun[0] = a;
fun[1] = b;
fun[2] = c;
fun[3] = d;
}
};
int main(int argc, char** argv)
{
for (int i = 0; i<5; i++)
{
Equation arr[i] = new Equation(1, 2, 3, 4);
}
return 0;
}
在这段代码中,我尝试创建(for循环)和一个数组以及它的类型等式,并为其提供一些值
Equation arr[i] = new Equation(1, 2, 3, 4);
但是当我运行代码时,我遇到了一个错误(表达式必须具有恒定值)。
答案 0 :(得分:2)
您正在重新声明arr [i]。
for (int i=0; i<5; i++){
Equation arr[i] = new Equation(1, 2, 3, 4);
}
请改用此:
Equation arr[5]; // Array of Equation objects
for (int i=0; i<5; i++){
arr[i] = Equation(1, 2, 3, 4); // assign different object
}