前端之家收集整理的这篇文章主要介绍了
如何在c 11中定义否定UDL(它们是否被禁止?)?,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我甚至不确定是否允许使用负面的
用户定义
文字.如果没有,为什么他们被排除在外?
例如,我想使用:
auto money_i_owe_jack = -52_jpy;
这是我尝试使用gcc 4.7.2:
constexpr int64_t operator "" _jpy(long long l)
{
return static_cast<int64_t>(l);
}
错误
Test_udl.cpp:60:47: error: ‘constexpr int64_t operator"" _jpy(long long int)’ has invalid argument list
整数
文字需要被接受为unsigned long long.负号不是
文字的一部分,它是在事实之后应用于返回的值.
constexpr int64_t operator "" _jpy(unsigned long long l)
{
return static_cast<int64_t>(l);
}
原文链接:https://www.f2er.com/c/114723.html