fja*_*don 4 c++ language-lawyer c++11
我想在标准(n3242/3291/3290)中指定一个指针,其中定义了余数运算符不适用于浮点类型.
余数运算符%在5.6.2中定义
二元/运算符产生商,二元%运算符从第一个表达式除以第二个表达式得到余数.如果/或%的第二个操作数为零,则行为未定义.对于积分操作数,如果商a/b在结果的类型中可表示,则/运算符产生代数商,其中任何小数部分被丢弃,(a/b)*b + a%b等于a.
我找不到禁止使用浮点类型的地方.标准明确将其integral operands视为特殊情况的事实可以解释为:运算符存在于其他非整数类型中.
我知道MSVC和GCC不接受它,我看了很多关于这个问题的答案,但是我无法在C++ 11标准中获得有效的指针.
Rei*_*ica 11
C++ 11,5.6/2:
操作数
*和操作数/应具有算术或无范围的枚举类型; 操作数%应具有整数或无范围的枚举类型.通常的算术转换是在操作数上执行的,并确定结果的类型.
(强调我的)
| 归档时间: |
|
| 查看次数: |
242 次 |
| 最近记录: |