
1 codehz Mar 10, 2021 哎,不应该改成 xxx A{B}; 吗 |
3 Tony042 Mar 10, 2021 via iPhone @xuegy 两个还是不太一样,花括号是 initializer_list,两个略有区别,我也不太清了,依稀记得花括号会更好一些,可以防止一些歧义。 |
4 Tony042 Mar 10, 2021 via iPhone 为啥不写个 operator=直接考虑类型转换 |
6 BrettD Mar 10, 2021 禁用 clang 编译警告(-Wno-everything )解千愁(逃 |
7 kokutou Mar 10, 2021 via Android 感觉可以写个脚本批量处理吧。。。 |
8 BrettD Mar 10, 2021 via iPhone 哦没事了,原来是编译错误 |
9 kekxv Mar 10, 2021 via iPhone 永 gcc 编译为动态库或者静态库来用? |
10 geelaw Mar 10, 2021 @Tony042 #4 这里需要的是 ctor 不是 operator=。 @xuegy #2 因为 https://en.wikipedia.org/wiki/Most_vexing_parse 但比较奇怪,一般来说用 = 初始化不会有歧义问题,反而是用函数调用初始化容易有“最烦人的解读”。 |
11 wnpllrzodiac Mar 10, 2021 via Android 写个 py 脚本搞? |
12 wnpllrzodiac Mar 10, 2021 via Android @Tony042 最好都用 花瓜号(侯杰大师发音),比较保险 |
13 feather12315 Mar 10, 2021 via Android sed 一行的事情 |
14 AndyAO Mar 10, 2021 感觉这种事情应该写个脚本来解决吧,甚至正则表达式,也有可能直接全部解决 |
15 lifanxi Mar 10, 2021 我没有理解为什么 clang 要报有歧义,如果 xxx 类的构造函数和类型转换函数没有花式作死的话,xxx A=B;就是调用拷贝构造函数通过 B 构造 A,好像没啥歧义啊。 |
16 cominghome Mar 10, 2021 所以说程序员掌握一门脚本语言也是很重要的 |
17 lcdtyph Mar 10, 2021 via iPhone @lifanxi 不一样,xxx A(B);是 direct initialization,而 xxx A=B;是 copy initialization 区别是当 AB 类型不同时 copy initialization 会考虑隐士转换,从而引入另一条构造路径导致歧义。 解决方法之一可以在正确的地方使用 explicit |
18 mlhadoop Mar 10, 2021 还以为做了啥手术 /doge |
19 nmap Mar 10, 2021 还以为你移植了眼睛 |
20 pluxj Mar 10, 2021 用 花括号 {} 好一些,不然可能认为你在声明一个函数 |
21 cyrbuzz Mar 10, 2021 (.+) (.+) = (.+); $1 $2($3); |
23 xuegy OP 我也想过写脚本解决,但是很多没错的地方也符合你这种正则表达式... |
26 se77en Mar 10, 2021 @pluxj 花括号分场合的,不能一概而论,建议读一下 Google 的这个 Tip: https://abseil.io/tips/88 |
27 twor2 Mar 10, 2021 @wnpllrzodiac 看了几个台湾人节目, 括好像都是发瓜的音,比较常见的词,是 包瓜(包括) |
28 whee1 Mar 10, 2021 via iPhone 你太死板了吧,别人的代码,修改编译选项让它过就是了,何必为难自己呢。 |
32 jones2000 Mar 10, 2021 我 c++库 15 万行,移植到 js, 小程序, py 3 个平台, 移植了 7 个月. 还包括测试. https://github.com/jones2000/HQChart |