如果我在我的默认构造函数中放入一个参数,但是给参数一个默认值,它仍然是一个默认的构造函数吗?

时间:2013-04-26 00:36:55

标签: c++ dll linker dllexport

我知道它被称为默认构造函数,但它在幕后如何工作?当我的程序试图使用包含类A的库和这个默认构造函数时,我收到“程序入口点无法找到”错误。该程序甚至不使用A类的默认构造函数;它使用A的其他构造函数。库构建良好;该计划建立良好。 DLL已经重建,因此它应该在看到它时知道它自己的方法调用。我其实完全迷失了。

class DLLEXPORT A
{
  A(int a = 0);  //default constructor and single parameter constructor
};

1 个答案:

答案 0 :(得分:4)

默认构造函数是 callable 的任何构造函数,没有参数。

当你说A x;时,这与A x(0);相同,这就是编译器实际调用的内容。

类似地,复制构造函数可以有其他的默认参数。