如何启用默认构造函数?

时间:2018-05-24 09:35:20

标签: c++ constructor default

我有疑问。

如何使用makefile默认设置构造函数?

以下代码会导致构建错误:

**no matching function for call to 'TEST::TEST()'**

代码:

struct TEST{
int a;
int b;

TEST(int aa, int bb) : a(aa), b(bb) {}
};

int main()
{

    TEST a;
    TEST b;

    a = b;

    return 0;
}

请帮帮我。 谢谢

1 个答案:

答案 0 :(得分:1)

添加第二个(默认)构造函数...

struct TEST{
int a;
int b;

TEST(int aa, int bb) : a(aa), b(bb) {}

TEST(){} // explicit default
};

...或者将当前构造函数的默认参数设置为默认值:

struct TEST{
int a;
int b;

TEST(int aa = 0, int bb = 0) : a(aa), b(bb) {} // implicit default
};