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