異端児について質問です。
クラスを宣言してから、以下のように子クラスを宣言します
`Producer::Producer(Pool<string>* p, string id) {
mPool = p; // protected members
mId = id;
}
ProduceCond::ProduceCond(Pool<string>* p, string id) {
Producer(p, id);
}
class Producer{
}
class ProduceCond : public Producer, public ThreadSubject {
}
`
子コンストラクターで右の親コンストラクターを呼び出しましたが、エラーが発生します
ProduceCond.cpp:10:52: error: no matching function for call to ‘Producer::Producer()’
親の正しいコンストラクター形式を使用しているのに、なぜこのエラーが発生するのか教えてもらえますか?