是这样的,我在设计一个类的时候,构造函数传参有uint64_t和double两种,我希望传uint64_t的处理各种整型数据,double的处理浮点型数据,但使用中如果传入的参是int型,就会报错,说函数调用不明确,也就是说,编译器不知道该把int参数隐式转换成uint64_t还是double。
如果我要补完传其他类型参数的构造函数就会成第三图这样,代码非常的冗余,而且其他整型的函数内部实现几乎没有区别,本质上就是都转换成uint64_t再进行操作,我就想有没有一种办法让其他整型参数自动隐式转换成uint64_t类型,而float类型自动转换成double类型?
不能用模板函数,因为还有拷贝构造、移动构造等,而这些构造函数的实现是完全不一样的,不能通用
如果我要补完传其他类型参数的构造函数就会成第三图这样,代码非常的冗余,而且其他整型的函数内部实现几乎没有区别,本质上就是都转换成uint64_t再进行操作,我就想有没有一种办法让其他整型参数自动隐式转换成uint64_t类型,而float类型自动转换成double类型?
不能用模板函数,因为还有拷贝构造、移动构造等,而这些构造函数的实现是完全不一样的,不能通用