class Divide
{
public:
    float divident, divisor;
    Divide():divident(10.0f),divisor(0.0f){}
};
int main()
{
    Divide obj[100];
    int quotient = obj[1].divident/obj[1].divisor;
    return quotient;
}
编辑:编译器Qt 5.3.1,Windows 7-32位.
为什么在编译时没有除零警告或发生运行时崩溃?
小智 6
它不会崩溃,因为你的浮点除法为零,而不是整数除零.浮点除零是获得无穷大的有效方法.
从转换float到int不确定,因为无限不在int的范围内,所以崩溃将被允许存在,但根本就没有什么典型的实现让它做.
| 归档时间: | 
 | 
| 查看次数: | 196 次 | 
| 最近记录: |