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

时间:2017-02-01 05:46:23

标签: class c++14 header-files

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

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

这是我头文件中的两个类

/*
 *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;
}

我可以理解构造函数中存在冲突。但我无法弄清楚究竟是什么错。任何帮助将非常感激。

1 个答案:

答案 0 :(得分:0)

你没有一个零参数的构造函数。

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