一个对象(创建)在另一个 Class 中的 C++ 数组

C++ Array of an object (created) inside another Class

我在头文件中有两个 class,第二个 class 依赖于第一个。 将此头文件包含在 .cpp 文件中,我在其中实现了 Flight class 的构造函数原型。编译给我以下错误:

Error: no matching function for call to ‘Passenger::Passenger()’
      Flight::Flight(int maxPassenger, int flightNo) {

这是我的头文件中的两个 classes

/*
 *Passenger Class:
 */
class Passenger
{
 public:
  int flightNo;
  string lastName;
  string firstName;
  int seatNo;
 public:
  Passenger(int flightNo, string lastName,string firstName,  int seatNo); 
};
/*
 *Flight Class:
 */
class Flight {
 public:
  int maxPassenger;
  int currentPos;
  int flightNo;
  Passenger list[20];
 public:
  Flight (int maxPassenger, int flightNo);
}

这是构造函数的实现:

Flight::Flight(int maxPassenger, int flightNo) {
  maxPassenger = maxPassenger;
  //  list = new Passenger [maxPassenger];
  flightNo = flightNo;
}

我可以理解构造函数中存在冲突。但我无法弄清楚到底出了什么问题。任何帮助将不胜感激。

您没有采用零参数的构造函数。

这段代码 list = new Passenger [maxPassenger]; 调用了一个不带任何参数的构造函数 Passenger() 但是没有声明导致错误的构造函数。