我已经编写了这段代码
ofstream f(<namefile>);
f.write(reinterpret_cast<const char *>(&ins.num_dip),
sizeof(ins.num_dip));
f.write(reinterpret_cast<const char *>(ins.dip),
ins.num_dip * sizeof(char));
return f;
但是我不明白我在哪里错了,你能帮忙吗?
答案 0 :(得分:1)
允许将std::ostream
(和其他std
流)转换为bool
的转换运算符是显式的,这意味着它只能用于显式强制转换和上下文转换为bool(例如内部条件)。返回布尔值不是上下文转换为bool,因此强制类型转换必须是显式的:
return static_cast<bool>(f);
您还可以使用适当的吸气剂代替强制转换:
return !f.fail();