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大佬
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/397508
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!