【发布时间】:2013-03-15 09:58:14
【问题描述】:
这里是ideone代码:http://ideone.com/Qp8Eqg
我的问题是,是否可以仅根据左值强制转换?例如,
[Seconds] s = 2_h + 60_s;
cout <<s.getSeconds()<<endl;
显然,我必须编写类似 2_h.toSeconds() 的东西,但这太冗长,无法实现这个想法。
【问题讨论】:
-
你的意思是
Seconds s = 2_h + 60_s;?或者更有可能:Seconds s = 2_h;? -
2_h.toSeconds()无效。不过,您可以写2_h .toSeconds()使其有效。或者,做(2_h).toSeconds()
标签: c++ c++11 user-defined-literals