万能的社区请赐我一个昵称吧:
查看汇编代码。Test t3=(1,2,3);该语句调用的是Test(int a){}构造函数。
然而如果使用Test t3(1,2,3);编译器提示无匹配构造函数。
所以问题在于赋值语句,编译器做了智能转换,将赋值符号右侧(1,2,3)转换为了最后一个int数值。
所以如果使用Test t3=(1,2,3,4,5,6,7);将得到a=7。
万能的社区请赐我一个昵称吧:
查看汇编代码。Test t3=(1,2,3);该语句调用的是Test(int a){}构造函数。
然而如果使用Test t3(1,2,3);编译器提示无匹配构造函数。
所以问题在于赋值语句,编译器做了智能转换,将赋值符号右侧(1,2,3)转换为了最后一个int数值。
所以如果使用Test t3=(1,2,3,4,5,6,7);将得到a=7。