看不懂的C++:运算符重载

 1 #include <stdio.h>
 2 
 3 struct S
 4 {
 5     S(double d){
 6     
 7     }
 8     bool operator==(const S &rhs) const{
 9         return true;
10     }
11 };
12 
13 struct K{
14     K(double d){
15     
16     }
17 };
18 
19 int main()
20 {
21     S s(1.0);
22     if (1.0==s){
23         printf("ok\n");
24     }
25 }

第22行,编译失败。double可以隐式转换为S,调用第8行的==重载函数。但是C++明确的拒绝了这一条道路。

原文链接: https://www.cnblogs.com/thomas76/p/8716791.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    看不懂的C++:运算符重载

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/397508

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年4月11日 上午9:13
下一篇 2023年4月11日 上午9:13

相关推荐