调用..constructor没有匹配函数

时间:2016-04-17 02:23:22

标签: c++ inheritance

我正在尝试编译涉及继承的代码。

ValueError: math domain error

父类是MapEntityClass,它没有默认构造函数,但有一个值构造函数。当我编译时,我收到以下错误:

#include "MapEntityClass.h"

class RectangularEntityClass:public MapEntityClass
{
  public:
    void drawOnMap(MapClass *mapObj) const;

  protected:
};

知道出了什么问题吗?

1 个答案:

答案 0 :(得分:1)

在继承中,只有当父类没有构造函数或只有默认构造函数时,子类才需要有构造函数。

在任何情况下,如果父类碰巧有参数化构造函数,子类应该有一个参数化构造函数,它应该调用父类构造函数。

示例:

function toggleProjectileDired() {
  if (derivedModeP == 'dired-mode') {
    // We're in dired buffer
    evilDeleteBuffer();
  } else {
    projectileDired();
  }
}

evilLeaderSetKey("tt", toggleProjectileDired);