构造函数调用问题,求教。
我有如下疑问请教各位,谢谢。定义类cam如下
程序代码:
class cam { int m_x; float m_y; cam getcam(int a,float b) { return cam{a,b}; } } int main() { int a=1; float b=2; cam c1; int c=c1.getcam(a,b).m_x; }
如果运行面代码,程序不报错,其中成员函数getcam()中 return cam{a,b}可调用构造函数完成对象构造。
但如果自己定义了无参默认构造函数却会报错。会提示缺乏与之对应的有参构造函数。
我想了解,如果自己不生命和定义构造函数的话,上面代码调用的是什么构造函数,是默认构造函数吗?为什么其可以接受两个参数呢?谢谢