我有一个由 n 粒子组成的系统。一个粒子对象可以通过使用一个构造函数来初始化,该构造函数接受几个参数(比如双打)作为参数。
Particle p(para1, para2 ... , paraN);
我现在有一个需要 n 粒子数组的系统。我想构建一个构造函数,它接收对象数量以及粒子参数并创建一个 n-Particle 数组。
我尝试了以下方法:
class System {
public:
Particle p[]; //declare dynamic array
System() {}
//Constructor
System(int n, para1, para2 ... , paraN)
{
Particle p[n]; //Particle array of size n
for(int i=0; i<n; i++)
{
Particle temp(para1, para2 ... , paraN);
p[i] = temp;
}
}
};
该程序无法编译并给出以下错误:
error: no match for ‘operator=’ in ‘p[i] = tempp’
note: candidate is:
note: Particle& Particle::operator=(const Particle&)
note: no known conversion for argument 1 from ‘Particle(double, double, double, double)’ to ‘const Particle&’
一般来说,我是 C++ 和 OOP 的新手。任何有关如何克服此问题的帮助将不胜感激。