我有疑问。
如何使用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;
}
请帮帮我。 谢谢
答案 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
};