C++ c+;中的调用没有匹配函数+;使用头文件

C++ c+;中的调用没有匹配函数+;使用头文件,c++,class,C++,Class,我的程序仅在这一部分上不断发送错误消息: #include "StockListType.h" int main() { int menuPromptOption; double gainLossList[5]; StockListType stockList [5]; //error part stockType A,B,C,D,E; } 这是我用于主程序的头文件 class StockListType : public listType<stockType> { public

我的程序仅在这一部分上不断发送错误消息:

#include "StockListType.h"

int main()
{
int menuPromptOption;
double gainLossList[5];
StockListType stockList [5]; //error part
stockType A,B,C,D,E;
}
这是我用于主程序的头文件

class StockListType : public listType<stockType>
{
public:
    StockListType (int size);
    void sortArrayByGain();
    void sortArrayByGain(double arrayList []);
    void printByGain();

    ~StockListType();
    }

主菜单中的以下行:

stockList类型stockList[5];
指示编译器为每个对象使用该类的默认构造函数创建一个包含5个
StockListType
对象的数组

但是,由于您已在类中显式定义了非默认构造函数,因此:

公共:
StockListType(整数大小);
然后编译器将不会生成默认构造函数(即不带参数的构造函数)

要解决此问题,需要添加显式默认构造函数:

StockListType();
当然,在代码的其他地方提供一个实际的定义(或者在声明中添加
=default
)。默认构造函数的具体功能取决于您,但是,如果它与另一个(您已经拥有的)功能大致相同,那么您可以通过为
size
参数提供默认值来“合并”这两个:

StockListType(int size=-1);//“大小”的默认值允许用作默认值
请随时要求进一步的澄清和/或解释。

您可以发布一个帖子吗?这里有很多东西你没有给我们看。
error: no matching function for call StockListType::StockListType()